2
假設您有prog.c
,其中包括lib.h
,其功能定義在lib.c
中,並且您使用gcc -O3 lib.c prog.c
構建程序。GCC是否合併編譯在一起的文件?
GCC在編譯它們之前合併兩個源文件嗎?
GCC是否可以將lib.c
的短函數內聯到生成的二進制文件中?答案
的
總結本的伎倆:gcc -flto -O3 lib.c prog.c
。
這兩個源文件仍然是單獨編譯的,但鏈接器能夠將函數從一個文件內聯到另一個文件中。