我想完成一个简单的任务:我想生成一个调用一些 .NET 例程的 C++/CLI 库,并公开一个我可以从纯本机 C++ 应用程序调用的静态方法。我想从我的本机应用程序静态链接到该库。本机 C++ 应用程序将调用的方法的签名应该是
void (unsigned char* data, int length, _TCHAR* args[])
一般来说,我对 C++/CLI 和 C++ 还是很陌生。所以,你能帮我回答这些问题吗:
对于我的小型 C++/CLI 项目,我假设类型需要是以 lib 作为输出的类库,以 vc9 运行时为目标(以便我可以确定它在最终用户 PC 上可用)。我在这个假设中正确吗?
您能否提供一个带有该签名的方法大纲示例,我需要在我的 C++/CLI 项目中编写该签名。特别是我应该如何正确转换为 CLR 类型(即 byte[]、int32 和 string)?以及如何使用“extern "C" __declspec(dllexport)" 之类的东西来装饰该方法,以使该方法可从我的本机 C++ 应用程序调用?
如何正确分离 C++/CLI 中 cpp 和 h 文件之间的代码?
最后,一旦我添加了 lib 引用,我将如何从我的本机应用程序中调用它?
谢谢你。