首先,C的#include的所作的唯一的一件事,就是把你中間引用的東西原封不動得插入進來,除此之外不會做任何事情。
那麼說,至少你直接複製是可以的。
那麼我們看一看stdio.h都有什麼。如果你用Linux的話,這個檔案通常位於/usr/include/stdio.h
這個檔案中都有什麼(我們先跳到127行)
這三行的意思是,聲明瞭這三個FILE*,而這三個指標的具體實現在某個外部庫中,而這個庫將會在連線時被引入。
在第326行:
這些行的意思是,聲明瞭這麼多的函式,比如fprintf, printf, fscanf, scanf,這些函式的實現在某個外部的庫中。
就是說,stdio.h中的程式碼,其作用是引用了某個外部庫中的很多函式和變數。
這個外部庫的名字叫做,libc,是預設情況下聯結器會自動連線的一個庫。你所使用的stdio.h中的功能,就是由libc實現的,而#include <stdio.h>,就是引用libc中的這些功能的方法。
而使用其他庫的時候就沒有那麼簡單。比如,如果你想要在C程式中使用數學庫,那麼你需要使用-lm連線開關,這個開關的作用是,告訴聯結器,把m這個庫連線進來。
首先,C的#include的所作的唯一的一件事,就是把你中間引用的東西原封不動得插入進來,除此之外不會做任何事情。
那麼說,至少你直接複製是可以的。
那麼我們看一看stdio.h都有什麼。如果你用Linux的話,這個檔案通常位於/usr/include/stdio.h
這個檔案中都有什麼(我們先跳到127行)
這三行的意思是,聲明瞭這三個FILE*,而這三個指標的具體實現在某個外部庫中,而這個庫將會在連線時被引入。
在第326行:
這些行的意思是,聲明瞭這麼多的函式,比如fprintf, printf, fscanf, scanf,這些函式的實現在某個外部的庫中。
就是說,stdio.h中的程式碼,其作用是引用了某個外部庫中的很多函式和變數。
這個外部庫的名字叫做,libc,是預設情況下聯結器會自動連線的一個庫。你所使用的stdio.h中的功能,就是由libc實現的,而#include <stdio.h>,就是引用libc中的這些功能的方法。
而使用其他庫的時候就沒有那麼簡單。比如,如果你想要在C程式中使用數學庫,那麼你需要使用-lm連線開關,這個開關的作用是,告訴聯結器,把m這個庫連線進來。