Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
Да ни при чем тут ELF и C/C++. При чем только GCC (update) 05.11.03 19:11 Число просмотров: 1166
Автор: Ktirf <Æ Rusakov> Статус: Elderman Отредактировано 05.11.03 19:16 Количество правок: 3
|
Итак, господа, демонстрирую вышеприведенный смертельный номер, но на языке C++. Вот листинг:
[ktirf@ktirf ~/src]$ cat no_stdio.cpp
extern int printf(const char *, ...);
int main()
{
printf("Hello world!\n");
return 0;
}
[ktirf@ktirf ~/src]$ g++ -o no_stdio no_stdio.cpp
[ktirf@ktirf ~/src]$ ./no_stdio
Hello world!
[ktirf@ktirf ~/src]$
---
Вот, собственно, и все :) Спасибо vaborg за ссылку на статью, в ней на самом деле есть короткий и ясный ответ: некоторые функции стандартной библиотеки C участвуют в компоновке всегда, потому что так работает GCC (ему нужно создать функцию __libc_main_start ). Не хочешь включать stdio.h - не включай, только объяви функции из него, которые используешь.
|
|
|