我正在编写一些代码,速度非常重要。我刚刚在编写测试用例后开始制作主二进制文件。对于我的测试运行器,我只是使用通配符将所有内容提供给链接器。(如下所示)
在我看来,链接是C++将各个部分粘合在一起的阶段-填充对函数的引用等,并将其全部放入二进制文件中。
# Do the linking for the test binary
$(BIN)test_cases: $(TEST)TestRunner.o
$(CC) $(TEST)*.o $(SRC)*.o $(CPPUNITLINKS) $(MAINLINKS) -o $(BIN)test_cases
我的问题是,考虑到我想以任何可能的方式加速我的程序,是否最好只链接“主”二进制文件所需的最少文件?这样会导致更轻便的可执行文件或更快的程序吗?还是编译器已经有效地丢弃了它不需要的任何东西?