VS2010中C#调用C函数
来源:互联网 发布:类似知否的种田文 编辑:程序博客网 时间:2024/05/17 11:59
1. 创建C本地DLL文件
1.1 创建Win32Dll项目
1.2 创建DLL,点击完成
1.3 在“头文件”里新建文件:CPPLibraryTest.h
[cpp] viewplaincopyprint?
- extern
"C" __declspec(dllexport) void Method1();
并输入:
[cpp] viewplaincopyprint?
- #include
"stdafx.h" - #include
- #include
"CPPLibraryTest.h" -
- void
Method1() - {
-
int *p = NULL; -
*p = 1;//异常情形 - }
1.5 新建模块定义文件:CPPLibraryTest.def
并输入:
[cpp] viewplaincopyprint?
- LIBRARY
CPPLibraryTest - EXPORTS
Method1
LIBRARY是模块定义文件必须的一部分,它告诉链接器(linker)如何命名你的DLL。EXPORTS也是模块定义文件必须的一部分,这部分使得该函数可以被其它应用程序访问到并且它创建一个导入库。当你生成这个项目时,不仅是一个.dll文件被创建,而且一个文件扩展名为.lib的导出库也会被创建。EXPORTS后面列出要导出函数的名称。可以在.def文件中的导出函数名后加@n,表示要导出函数的序号为n(在进行函数调用时,这个序号将发挥其作用)。
1.6 编译并生成文件:CPPLibraryTest.dll
1.7 新建C#控制台应用程序
1.8 program.cs 文件内容
[csharp] viewplaincopyprint?
- class
Test - {
-
[DllImport("CPPLibraryTest.dll")] -
private extern static void Method1(); -
-
static void Main( string[]args) -
{ -
try -
{ -
Method1(); -
} -
catch (Exception err) -
{ -
Console.WriteLine("捕获异常:{0}", err.ToString()); -
} -
finally -
{ -
Console.WriteLine("执行 finally" ); -
} -
-
Console.ReadLine(); -
} - }
1.9 将CPPLibraryTest.dll拷贝到ConsoleTest的Debug文件夹下,生成运行即可。
2.0 运行结果:
阅读全文
0 0
- VS2010中C#调用C函数
- VS2010中C#调用C函数
- VS2010中C#调用C函数
- VS2010中C#调用C函数
- VS2010中C#调用C函数
- 在C#中调用C语言函数
- VS2010,C语言编程调用函数sqrt
- 在C#中调用C++Dll函数的方法
- VS2010 C# 调用Ironpython
- VS2010 下C#调用与整合python函数
- VS2010产生C的dll方法和C#调用方式
- C#中使用OpenGL:(六)C#中调用C函数时的参数传递问题
- C#中调用VB函数
- C#中调用WIN32API函数
- C#中调用MATLAB函数
- C#调用C++/C库中的函数
- MATLAB 函数导出c/c++代码被vs2010调用
- VS2010中VB.NET中API函数的调用
- 静态链接库和动态链接库
- C语言类型之间转换函数
- CString、String(标准模版…
- Android-Camera Client/Server的binder IPC机制
- .hpp与.h的区别
- VS2010中C#调用C函数
- MySQL修改root密码的多种方法
- OpenCV基础-cvCloneImage、c…
- Java 8系列之重新认识HashMap
- OpenCV中响应鼠标消息
- SIFT算法的c++实现(VS2010+OpenCV…
- 装修老师傅的经验
- Lintcode81Data Stream Mediansolution题解
- 对于结构体变量赋值的误区