在 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
会被预编译,从而减少编译时间。