分类: C/C++
2008-11-03 13:56:00
用C++写Dll需要很多规范,而在.Net平台下通过c#实现的Dll则要方便许多。但在c++中调用c#写的Dll就得注意一下。不能像引用C++本身的DLL一样。这里讲一下应该注意的细节:(以VS2005为例,VS2008类似)
1.因为用c++本身 的默认配置是没有公共语言运行库支持的,所以首先的修改配置,点击项目->属性->配置属性->常规.在公共语言运行库支持中选择"公共语言运行库支持(/clr)".
2.引用Dll文件和命名空间.
如果我们要引用一个命名空间为UranusNet,文件名为UranusNet.dll的文件.则引用方法为:
#using "..\debug\UranusNet.dll" (这里用using而非include)
using namespace UranusNet;
记得要将dll文件拷贝到对应的目录下
3.调用方法
加入要调用UranusNet命名空间下的UGSInfo类.则代码如下所示:(假设该类有logIn和writeBlog两个方法)
UGSInfo ^ugs = gcnew UGSInfo();(这里要用^而不是*,gcnew而非new)
if(ugs->logIn("abc","123"))
ugs->writeBlog("很好", "很强大");
以上就是在c++调用C#的Dll的要点。由于c#的简洁方便的特点,所以我们可以用C#快速的实现DLL文件。
当然一些更底层的功能还得用c++实现。^_^