我有一个外部提供的.cpp文件.它是C兼容代码和一些C++的混合体.C++代码只是C的一个包装器,可以利用C++的特性.
它使用#ifdef __cplusplus宏来保护C++代码,这很棒.不幸的是,如果我尝试使用gcc进行编译,它会因为文件结束而将其视为C++.我知道gcc和g ++之间的区别 - 我不想编译为C++.
有什么方法可以强制gcc将此文件视为C文件吗?我尝试过使用eg --std=c99,但这正确地产生了C99对C++无效的错误.
将文件重命名为.c有效,但我想尽可能避免这种情况,因为它是外部提供的,并且保留为原始副本会很好.
谢谢!