有谁知道如果用C++编译器编译C代码是否会有性能损失? 我有一个类似 C 的代码并使用 MinGW C++ 编译器。我正在使用 qmake 来编译该项目。如果我将编译器切换为用 C 语言编译可以提高性能,我就必须更新代码,语法有些不兼容,想知道是否值得。
谢谢。
性能差异应该非常小(如果有的话),即使有差异,也将非常小——假设您使用的是来自同一供应商或集合的 C 和 C++ 编译器。使用一个供应商的 C 编译器和另一个供应商的 C++ 编译器可能会显示出更大的差异,但这只是因为不同供应商实施不同的优化策略。
C++ 调用的一些潜在优化机会 C 编译器可能本身并不支持 - 但同样,除非它们来自不同的供应商,否则差异将毫无意义,并且许多编译器在 C++ 和 C 中都实现了类似的优化编译器前端。
其中一个例外是 Microsoft 的编译器 - 据我所知,Microsoft 从未制作过 C 编译器。
注意:我假设代码不使用 C++ 特定的功能,例如模板或类。