【发布时间】:2013-07-02 08:52:51
【问题描述】:
我正在使用 Matlab 编码器生成一些 C 代码,然后最终由 VS 2010 中的 C# 应用程序使用。为了能够做到这一点,我必须手动更改某些头文件的某些部分(即“接口”是消费)来自:
#ifdef __cplusplus
extern "C" {
#endif
extern real_T add(real_T a, real_T b);
#ifdef __cplusplus
}
#endif
#endif
到
#ifdef __cplusplus
extern "C" {
#endif
extern __declspec(dllexport) add(real_T a, real_T b);
#ifdef __cplusplus
}
#endif
#endif
如果我必须在重新生成 C 代码后对多个头文件执行此操作,这可能会非常乏味。有没有一种简单的方法来自动化这个过程?
请注意,我不是 C/C++ 程序员。由于某些其他要求,C/C++ 代码仅用作“中介”。非常欢迎任何反馈。
PS:
请注意,我主要是在寻找 Visual Studio 2010 解决方案(宏?)。我总是可以编写一个小 C#/Matlab 程序来实现这一切,但我觉得这太过分了。
【问题讨论】:
-
VS的查找/替换对话框支持正则表达式,不是吗?
-
难道没有办法自定义 MATLAB Coder(可能使用 Embedded Coder)以生成您想要的标头吗?手动修改自动生成的代码不是好习惯。
-
那太好了 - 请在明信片上回答
-
似乎无法通过宏来更改源文件的内容。
标签: .net visual-studio-2010 matlab visual-c++ pinvoke