企业网站设计要求,网站建设销售技巧,创建公司,咪豆建站如果想用C#调用C/C写的函数#xff0c;可以先将C/C的函数写成dll文件#xff0c;由C#用DllImport的方式来调用#xff0c;但是这种方法无法调用C写的类#xff0c;如果想调用C类#xff0c;可以先把C类封装成COM组件#xff0c;再由C#来调用。方法如下#xff08;以VS20…如果想用C#调用C/C写的函数可以先将C/C的函数写成dll文件由C#用DllImport的方式来调用但是这种方法无法调用C写的类如果想调用C类可以先把C类封装成COM组件再由C#来调用。方法如下以VS2008英文版为例说明
一、新建一个Visual C项目类型为ATL Project假设项目名为ComProject直接点Finish即可。
二、在Solution Explorer的ComProject项目名上右击选择Add-Class选择ATL Simple Object在Short name里填上类名假设为Hello点Next按需求进行选择然后点Finish。
三、切换到Class View视图在IHello上右击选择Add-Method为IHello接口添加一个方法方法名为SayHello。打开Hello.cpp文件在SayHello函数里加上MessageBox(NULL, _T(Hello), _T(Hello), MB_OK);主要作测试用。
四、新建一个Visual C#项目类型为Console Application假设项目名为ComTest。在ComTest项目名上右击选择Add Reference-Browse在ComProject/Debug下找到ComProject.tlb这个文件选中并点OK。
五、打开Program.cs把代码改成
using System;using ComProjectLib;namespace ComTest{ class Program { static void Main(string[] args) { HelloClass hello new HelloClass(); hello.SayHello(); } }}
六、在ComTest项目名上右击选择Set as StartUp Project把此项目设为启动项目然后按CtrlF5运行即可如果出现Hello这个消息框说明调用COM组件成功。