Я хочу связать статическую библиотеку, которую я включил (например, stdio) с gcc, поэтому я использую опции -static.
Моя среда Ubuntu 10.10.
gcc версия 4.4.5 .
команда компиляции, которую я использовал: gcc -static -o output.out input.c
ниже мой исходный код.
</p>
<h1>include <br></h1>
<p>int main(){<br>
printf("hello world");<br>
return 0;<br>
}<br>
После компиляции и использования опции -static я запускаю исполняемый файл.
и я обнаружил, что printf на самом деле называется _IO_printf.
И я пишу другую программу, следующий код souce.
</p>
<h1>include <br></h1>
<p>int main(){<br>
return 0;<br>
}<br>
Я компилирую этот исходный код с той же опцией и objdump нового исполняемого файла.
Однако я не могу найти _IO_printf.
У меня вопрос, почему я не могу оштрафовать _IO_printf во втором случае. У меня есть статическая ссылка на библиотеку, которую я включил.
Может кто-нибудь PLZ помочь мне решить эту проблему, спасибо.