VS2010中C#调用C函数
来源:互联网 发布:编程需要哪些英语单词 编辑:程序博客网 时间:2024/05/17 10:52
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 文件内容
[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函数的调用
- 人工智能又一次站在浪潮之巅
- struts2中chain、redirect和redirectAction的区别
- oracle学习第二篇:Oracle SQL*Plus工具登录不上问题解决
- IOS中键盘隐藏几种方式
- 最新版本Spring、Hibernate、Struts框架整合
- VS2010中C#调用C函数
- 第六章 Realm及相关对象
- StringUtils的isBlank与isEmply
- Spring注解@Component、@Repository、@Service、@Controller区别
- H.264采集、编码、传输的流程
- java之 ------ 图型界面(一)
- 百余篇SCI文章的一字经验----短
- TCP协议与UDP协议的区别
- 关于文本域不能在form表单或table不能使用问题,现在用样式解决