在 Linux 下,可以通過以下方法提高 C++ 編譯效率:
sudo apt-get update
sudo apt-get install gcc-9 g++-9
然后使用 g++-9
替換 g++
進行編譯。
Makefile
的文件,內(nèi)容如下: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
參數(shù)可以進行多核編譯,充分利用多核 CPU 的性能。例如,如果你的電腦有 4 個核心,可以使用以下命令進行編譯:make -j4
優(yōu)化代碼:優(yōu)化 C++ 代碼也可以提高編譯效率。例如,減少全局變量的使用,避免不必要的循環(huán),使用更高效的算法等。
使用預編譯頭文件:對于大型項目,可以使用預編譯頭文件來減少編譯時間。預編譯頭文件可以包含常用的頭文件,如標準庫頭文件、第三方庫頭文件等。創(chuàng)建一個名為 stdafx.h
的文件,將常用的頭文件包含在其中,然后在 Makefile
中添加以下規(guī)則:
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
會被預編譯,從而減少編譯時間。