C#与C

来源:互联网 发布:苹果电脑电视直播软件 编辑:程序博客网 时间:2024/05/21 07:10
C#调用C函数的方法:方法一:1.新建Visual C++类型的Win32项目C语言的函数定义如下:extern "C" __declspec(dllexport) int fnTestWin32(void);实现如下extern "C" __declspec(dllexport) int fnTestWin32(void){ return 42;}工程属性页[常规]->[配置类型]选择[动态库.dll]会生成.lib和.dll文件。用Dependency工具能看到fnTestWin32函数,因为使用了extern "C"2.C#工程中        [DllImport("TestWin32.dll", EntryPoint = "fnTestWin32", CharSet = CharSet.Ansi)]        private static extern int fnTestWin32();把Win32项目生成的dll拷贝到C#生成的exe文件,就可以调用了。方法二:1.新建Win32工程直接使用C语言,函数定义不使用extern "C" __declspec(dllexport)工程属性页[常规]->[配置类型]选择[静态库(.lib)]2.新建Visual C++ CLR 类库工程这里面写的是C++的类,提供给C#直接调用的,作为C与C#的中转,主要使用Marshal类应用上面的Win32工程,并包含头文件extern "C"{#include "app_notify.h"}3.C#工程中直接使用CLR类库工程生成的dll
0 0
原创粉丝点击