VS2010中C#调用C函数
来源:互联网 发布:豆丁免费下载软件 编辑:程序博客网 时间:2024/05/17 13:45
VS2010中C#调用C函数
(2013-07-22 16:12:50)转载▼
分类: C_Concept
1. 创建C本地DLL文件
1.1 创建Win32Dll项目
1.2 创建DLL,点击完成
1.3 在“头文件”里新建文件:CPPLibraryTest.h
[cpp] view plaincopyprint?
- extern
"C" __declspec(dllexport) void Method1();
并输入:
[cpp] view plaincopyprint?
- #include
"stdafx.h" - #include
- #include
"CPPLibraryTest.h" -
- void
Method1() - {
-
int *p = NULL; -
*p = 1;//异常情形 - }
1.5 新建模块定义文件:CPPLibraryTest.def
并输入:
[cpp] view plaincopyprint?
- 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 文件内容
DllImport("User32.dll", CharSet = CharSet.Auto)]
[csharp] view plaincopyprint?
- 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函数的调用
- 对系统版本为4.4及以上的开启 透明状态栏和导航栏(即沉浸式状态栏)
- 微舍解读:2015年微商之路如何走好?
- DOM、JDOM、DOM4J的区别
- js中几种实用的跨域方法原理详解
- 项目中的工具类StringUtils和DigestUtils
- VS2010中C#调用C函数
- ios键盘收缩
- A/B 向上取整的方法
- Linq的分页
- mininet floodlight 搭建SDN环境
- javascript中函数做为参数的调用
- LeetCode 题解(66): Median of Two Sorted Arrays
- android--zxing返回扫描界面出现黑屏的解决方案
- Buffered读写中文文件乱码