使用文件本身的指令强制将文件编译为 C

Force file to be compiled as C, using a directive from the file itself

我的 C++ 项目中有一些旧代码文件需要编译为 C 代码 - 整个代码库设置为编译为 C++。 我正在使用 Visual Studio,但我宁愿避免从项目属性中设置每个文件,而是使用某种 #pragma 指令(如果可能)。

我四处搜索,但一无所获,我能想到的关闭方式是添加一个 #ifdef,检查 __cplusplus,如果这样做则失败。

基本上我正在寻找一种从源代码注入 /Tc, /Tp, /TC, /TP (Specify Source File Type) 命令的方法。

“默认情况下,CL 假定扩展名为 .c 的文件是 C 源文件,扩展名为 .cpp 或 .cxx 的文件是 C++ 源文件。”

因此,如果需要,请重命名文件并将新的 c 文件放入您的项目。

如果需要,设置编译器选项: Set compiler