在 Linux 下,可以通過以下方法提高 C++ 編譯效率:
sudo apt-get update
sudo apt-get install gcc-9 g++-9
然后使用 g++-9 替換 g++ 進行編譯。
Makefile 的文件,內容如下:CC = g++-9
CFLAGS = -Wall -O2
LDFLAGS =
SOURCES = main.cpp file1.cpp file2.cpp
OBJECTS = $(SOURCES:.cpp=.o)
EXECUTABLES = $(SOURCES:.cpp=)
all: $(EXECUTABLES)
%: %.cpp
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -f $(OBJECTS) $(EXECUTABLES)
ccache 是一個編譯緩存工具,可以加速重復編譯。首先安裝 ccache:sudo apt-get install ccache
然后在編譯命令前加上 ccache,例如:
ccache g++-9 main.cpp -o main
make 的 -j 參數可以進行多核編譯,充分利用多核 CPU 的性能。例如,如果你的電腦有 4 個核心,可以使用以下命令進行編譯:make -j4
優化代碼:優化 C++ 代碼也可以提高編譯效率。例如,減少全局變量的使用,避免不必要的循環,使用更高效的算法等。
使用預編譯頭文件:對于大型項目,可以使用預編譯頭文件來減少編譯時間。預編譯頭文件可以包含常用的頭文件,如標準庫頭文件、第三方庫頭文件等。創建一個名為 stdafx.h 的文件,將常用的頭文件包含在其中,然后在 Makefile 中添加以下規則:
stdafx.h.gch: stdafx.h
$(CC) $(CFLAGS) -c $< -o $@
main: stdafx.h.gch main.cpp file1.cpp file2.cpp
$(CC) $(CFLAGS) -o $@ $^
這樣,在編譯 main 時,stdafx.h 會被預編譯,從而減少編譯時間。