Я не касался C++ какое-то время, и этот вопрос может быть глупым, но это действительно беспокоит меня какое-то время.Где компилятор находит `` printf``?
Пусть у меня есть следующие программы: гр
#include <stdio.h>
int main()
{
int i;
for(i=0; i<10; i++)
{
printf("Hello World!\n");
}
return 0;
}
Я знаю причину, я включаю stdio.h
это потому, что я называю printf
в main
, но мне интересно, как компилятор будет знать, где найти реализацию printf()
во время компиляция? stdio.h
предоставляет только прототип функции, но что именно происходит во время компиляции?
Будет ли определенный префиксный путь, который компилятор знает для поиска реализации printf
? Если да, то как их найти?
Спасибо большое!
Это линкер, который на самом деле находит его. И да, путь для поиска стандартных библиотек предопределен. –
@ πάνταῥεῖ Не могли бы вы объяснить немного больше? Благодаря! – zack
[Дополнительная информация] (http://stackoverflow.com/questions/23181905/standard-c-library-linking) –