我想做的事:
我已经自动生成了使用 Matlab Simulink 生成的 C 代码,并希望通过用 C++ 编写的更多功能来增强它。准确地说,C 代码调用内部使用 C++ 的 C 风格 API。整个事情都在一个 VS 2008 C++ 项目中。
问题:
只要我告诉 VS 将其编译为 C 并省略我的 C++ 代码,它就会编译。一旦我编译它,就会出现 C++ 问题。
首先,我不能将它编译为 C++,因为 math.h 由于对重载函数 (fabs()) 的不明确调用而产生错误 C2668。
如果我现在另外添加一些 C++,例如包含 iostream,我会收到数百个编译器错误,抱怨 cstdlib 中某处缺少花括号和冒号。
我的问题:
我怎样才能以一种有效的方式混合这两种语言?我阅读了预处理器定义(http://www.parashift.com/c++-faq-lite/overview-mixing-langs.html),但我不知道如何正确应用它们来解决我的问题。
任何帮助是极大的赞赏!