我有一个外部提供的.cpp文件。它是C兼容代码和一些C++的混合体。 C++代码只是C的一个包装,以利用C++特性。强制gcc编译.cpp文件为C
它使用#ifdef __cplusplus
宏来保护C++代码,这非常棒。不幸的是,如果我尝试使用gcc进行编译,由于文件结尾,它将它视为C++。我知道gcc和g ++之间的区别 - 我不想编译为C++。
有什么办法可以强制gcc把这个文件当作C文件吗?我尝试过使用例如--std=c99
,但是这正确地产生了C99对C++无效的错误。
将文件重命名为.c的作品,但如果可能的话,我想避免这种情况,因为它是外部提供的,并且将它作为原始副本保留会很好。
谢谢!
有时候我看到SO问题。我只想尖叫一个大RTFM! 'man gcc'。对于这个问题的国王来说,实际上花费的时间比写这个问题要少。 – log0 2010-11-18 15:21:15
我有同样的问题,因为我想编译一个.cpp文件中的纯C代码......显然,我是一个关于C. RTFM的初学者!那么这不是一个好建议。 gcc手册页是11.000行,如果你不知道要找什么,那么在那里找到一个解决方案是很难的。 – mort 2011-11-04 08:05:30