2015-06-07 27 views
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

這兩個源文件仍然是單獨編譯的,但鏈接器能夠將函數從一個文件內聯到另一個文件中。

回答

1

在編譯它們之前,GCC是否合併兩個源文件?

不,它不

是gcc能夠內嵌lib.c的短功能集成到生成的二進制文件?

是的,在高級優化級別。查看整體程序優化,鏈接時間優化和類似選項

相關問題