The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"g++ stdio.h пустой printf на Fedora Core 3"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"g++ stdio.h пустой printf на Fedora Core 3" 
Сообщение от Alex emailИскать по авторуВ закладки(??) on 19-Янв-05, 19:09  (MSK)
Всем привет. Имею в файле t.cpp код:

#include "stdio.h"
int main(int argc, char* argv[])
{
printf("Started");
return 0;
}

При компиляции ничего не выводится:
# g++ t.cpp
#

При запуске тоже:

# ./a.out
#

Хотя такая же последовательность действий на другой машине приводит к другому результату:

# g++ wmsigner.cpp
# ./a.out
Started
#

Может поможет эта информация:

[]# g++ -v t.cpp
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
/usr/libexec/gcc/i386-redhat-linux/3.4.2/cc1plus -quiet -v -D_GNU_SOURCE t.cpp -quiet -dumpbase t.cpp -auxbase t -version -o /tmp/ccbVPb1V.s
ignoring nonexistent directory "/usr/lib/gcc/i386-redhat-linux/3.4.2/../../../../i386-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/i386-redhat-linux/3.4.2/../../../../include/c++/3.4.2
/usr/lib/gcc/i386-redhat-linux/3.4.2/../../../../include/c++/3.4.2/i386-redhat-linux
/usr/lib/gcc/i386-redhat-linux/3.4.2/../../../../include/c++/3.4.2/backward
/usr/local/include
/usr/lib/gcc/i386-redhat-linux/3.4.2/include
/usr/include
End of search list.
GNU C++ version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3) (i386-redhat-linux)
        compiled by GNU C version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3).
GGC heuristics: --param ggc-min-expand=47 --param ggc-min-heapsize=32014
as -V -Qy -o /tmp/ccalfGWP.o /tmp/ccbVPb1V.s
GNU assembler version 2.15.92.0.2 (i386-redhat-linux) using BFD version 2.15.92.0.2 20040927
/usr/libexec/gcc/i386-redhat-linux/3.4.2/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc/i386-redhat-linux/3.4.2/../../../crt1.o /usr/lib/gcc/i386-redhat-linux/3.4.2/../../../crti.o /usr/lib/gcc/i386-redhat-linux/3.4.2/crtbegin.o -L/usr/lib/gcc/i386-redhat-linux/3.4.2 -L/usr/lib/gcc/i386-redhat-linux/3.4.2 -L/usr/lib/gcc/i386-redhat-linux/3.4.2/../../.. /tmp/ccalfGWP.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/i386-redhat-linux/3.4.2/crtend.o /usr/lib/gcc/i386-redhat-linux/3.4.2/../../../crtn.o
[]#

По мне так должна либо ругань быть при компиляции, либо результат какой-либо. А то ни того, ни другого. Программа-то на уровне "привет, мир", не должна она слишком сложно компилироваться.

Спасибо.

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "g++ stdio.h пустой printf на Fedora Core 3" 
Сообщение от Murr Искать по авторуВ закладки(??) on 19-Янв-05, 20:33  (MSK)
а что говорят ltrace/strace в первом случае?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "g++ stdio.h пустой printf на Fedora Core 3" 
Сообщение от Alex emailИскать по авторуВ закладки(??) on 20-Янв-05, 10:11  (MSK)
Вот:
==========================
[]# ltrace ./a.out
__libc_start_main(0x8048420, 1, 0xfee32bb4, 0x8048454, 0x80484a8 <unfinished ...>
printf("Started")                                                                      = 7
+++ exited (status 0) +++
[]#
==========================
Это хорошо или плохо?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "g++ stdio.h пустой printf на Fedora Core 3" 
Сообщение от Alex emailИскать по авторуВ закладки(??) on 20-Янв-05, 10:19  (MSK)
Дал поболее ключей и получил больше информации, которая говорит мне ни о чем - я и о ltrace'е первый раз в жизни услышал. Может вам что-нибудь скажет:
==============================
[root@dvlp stdio.blin]# ltrace -C -i -S ./a.out
[0x9d86bd] SYS_uname(0xfeee340c)                                                       = 0
[0x9d722b] SYS_brk(NULL)                                                               = 0x8c23000
[0x9d7fd1] SYS_access(0x9d9386, 4, 0x9dcfb4, 0x9d9386, 4)                              = -2
[0x9d7e94] SYS_open("/etc/ld.so.cache", 0, 00)                                         = 3
[0x9d7d9b] SYS_fstat64(3, 0xfeee2b58, 0x9dcfb4, 0x9dd4d8, 0)                           = 0
[0x9d85fd] SYS_mmap(0xfeee2b38, 2, 0x9dcfb4, 3, 0)                                     = 0xf6ff9000
[0x9d7ecd] SYS_close(3)                                                                = 0
[0x9d7e94] SYS_open("/usr/lib/libstdc++.so.6", 0, 00)                                  = 3
[0x9d7f14] SYS_read(3, "\177ELF\001\001\001", 512)                                     = 512
[0x9d7d9b] SYS_fstat64(3, 0xfeee2be8, 0x9dcfb4, 0x9dd4d8, 0)                           = 0
[0x9d85fd] SYS_mmap(0xfeee2aa4, 5, 0x9dcfb4, 0xfeee2ae0, 0xfeee2b10)                   = 0x137000
[0x9d85fd] SYS_mmap(0xfeee2aa4, 0, 0x9dcfb4, 0xfeee2af8, 0x1f8000)                     = 0x1f8000
[0x9d85fd] SYS_mmap(0xfeee2aa4, 21172, 0x9dcfb4, 0xfeee2af8, 50)                       = 0x1fd000
[0x9d7ecd] SYS_close(3)                                                                = 0
[0x9d7e94] SYS_open("/lib/tls/libm.so.6", 0, 047355040)                                = 3
[0x9d7f14] SYS_read(3, "\177ELF\001\001\001", 512)                                     = 512
[0x9d7d9b] SYS_fstat64(3, 0xfeee2bcc, 0x9dcfb4, 0x9dd4d8, 0)                           = 0
[0x9d85fd] SYS_mmap(0xfeee2a40, 5, 0x9dcfb4, 0xfeee2a80, 0xfeee2ab0)                   = 0xb09000
[0x9d85fd] SYS_mmap(0xfeee2a40, 0, 0x9dcfb4, 0xfeee2a98, 0xb2a000)                     = 0xb2a000
[0x9d7ecd] SYS_close(3)                                                                = 0
[0x9d7e94] SYS_open("/lib/libgcc_s.so.1", 0, 047356260)                                = 3
[0x9d7f14] SYS_read(3, "\177ELF\001\001\001", 512)                                     = 512
[0x9d7d9b] SYS_fstat64(3, 0xfeee2bb0, 0x9dcfb4, 0x9dd4d8, 0)                           = 0
[0x9d85fd] SYS_mmap(0xfeee2a64, 34, 0x9dcfb4, 4096, 602)                               = 0xf6ff8000
[0x9d85fd] SYS_mmap(0xfeee2a6c, 5, 0x9dcfb4, 0xfeee2aa0, 0xfeee2ad0)                   = 0xb76000
[0x9d85fd] SYS_mmap(0xfeee2a6c, 0, 0x9dcfb4, 0xfeee2ab8, 0xb7d000)                     = 0xb7d000
[0x9d7ecd] SYS_close(3)                                                                = 0
[0x9d7e94] SYS_open("/lib/tls/libc.so.6", 0, 036677700000)                             = 3
[0x9d7f14] SYS_read(3, "\177ELF\001\001\001", 512)                                     = 512
[0x9d7d9b] SYS_fstat64(3, 0xfeee2b94, 0x9dcfb4, 0x9dd4d8, 0)                           = 0
[0x9d85fd] SYS_mmap(0xfeee29d8, 5, 0x9dcfb4, 0xfeee2a10, 0xfeee2a40)                   = 0x9e0000
[0x9d85fd] SYS_mmap(0xfeee29d8, 0, 0x9dcfb4, 0xfeee2a28, 0xb01000)                     = 0xb01000
[0x9d85fd] SYS_mmap(0xfeee29d8, 7404, 0x9dcfb4, 0xfeee2a28, 50)                        = 0xb05000
[0x9d7ecd] SYS_close(3)                                                                = 0
[0x9d85fd] SYS_mmap(0xfeee30b4, 34, 0x9dcfb4, 4096, 2832)                              = 0xf6ff7000
[0x9d8684] SYS_mprotect(0xb01000, 8192, 1, 0xf6ff8290, 0)                              = 0
[0x9d8684] SYS_mprotect(0xb2a000, 4096, 1, 0x9ddcb0, 0)                                = 0
[0x9d8684] SYS_mprotect(0x9dc000, 4096, 1, 0x9dd1c0, 0)                                = 0
[0x9c975c] SYS_set_thread_area(0xfeee3334, 81, 0xf6ff76c0, 0x9dcfb4, -1)               = 0
[0x9d8641] SYS_munmap(0xf6ff9000, 28364)                                               = 0
[0x8048399] __libc_start_main(0x8048420, 1, 0xfeee3664, 0x8048454, 0x80484a8 <unfinished ...>
[0x8048449] printf("Started" <unfinished ...>
[0x9c77a2] SYS_fstat64(1, 0xfeee2e7c, 0xb02ff4, 0xb035c0, 8192)                        = 0
[0x9c77a2] SYS_mmap2(0, 4096, 3, 34, -1)                                               = 0xf6fff000
[0x8048449] <... printf resumed> )                                                     = 7
[0x9c77a2] SYS_write(1, "Started", 7Started)                                                  = 7
[0x9c77a2] SYS_munmap(0xf6fff000, 4096)                                                = 0
[0x9c77a2] SYS_exit_group(0 <unfinished ...>
[0xffffffff] +++ exited (status 0) +++
[root@dvlp stdio.blin]#
==============================
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "g++ stdio.h пустой printf на Fedora Core 3" 
Сообщение от Alex emailИскать по авторуВ закладки(??) on 20-Янв-05, 11:04  (MSK)
А вот вообще интересно получается - перенес откомпилированный файл в /tmp/... и он заработал. Перенес тот же файл обратно  (/home/apache/...)- нет. Ни одного бита не изменилось ведь, а результаты разные. Пойду искать, что такое SELinux.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "g++ stdio.h пустой printf на Fedora Core 3" 
Сообщение от Alex emailИскать по авторуВ закладки(??) on 20-Янв-05, 11:54  (MSK)
Не запускается файл, который отзывается на команду

# ls -laZ

таким образом:

-rwxr-xr-x  root     root     root:object_r:httpd_sys_content_t a.out

Свою проблему решил просто - перенес необходимую программу в другой каталог. Не знаю, насколько это безопасно, но "у меня много работы, поэтому думать некогда" :(

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру