C#调用C/C++ dll文件 的简单示例
2015-03-07 13:20
453 查看
测试环境:VS2010 windows7
1.文件->新建项目,选择win32 控制台程序,输入项目名称dll_test,然后点击确定
2.
3.点击下一步
4.选择dll 点击完成 ,点击dll_test.cpp 文件
说明:(这里是.cpp 文件不是.c 文件,所以要加extern “C”) __declspec(dllexport)这里语法规定。至于dllmain.cpp 文件下的DllMain,这里可以不必理会。具体可以查看MSDN。
4.按上面要求编写程序,点击生成
5.可以看到生成成功
6这样我们的dll文件就生成成功了。可以在项目Debug文件夹下查看dll文件
可以使用depends 这个工具来查看dll文件的函数情况,在File->openfile 打开你的dll文件,可以看到Function为add与我们写的一样,如果不一样,说明dll有问题。
7.再建立一个C# 选择Windows 窗体应用程序,点击确定
8. 将刚刚生成的dll文件放到bin目录下的Debug文件下(注意不要放错了,放错会提示找不到),
[DllImport("dll_test.dll",EntryPoint =
"add",CallingConvention =
CallingConvention.Cdecl)]
public
static extern int add(int a,
int b);
注意: public static extern 的写法,后跟的你要导入函数返回值以及函数名。
第一参数表示要加载的dll文件名
EntryPoint 表示函数入口点,即:函数名
使用DllImport 需要在程序上面添加 :using System.Runtime.InteropServices;
这里就可以再C#中调用C/C++的dll文件了。
9 运行程序:
1.文件->新建项目,选择win32 控制台程序,输入项目名称dll_test,然后点击确定
2.
3.点击下一步
4.选择dll 点击完成 ,点击dll_test.cpp 文件
extern "C" __declspec(dllexport) int add(int a,int b); int add(int a,int b) { return a+b; }
说明:(这里是.cpp 文件不是.c 文件,所以要加extern “C”) __declspec(dllexport)这里语法规定。至于dllmain.cpp 文件下的DllMain,这里可以不必理会。具体可以查看MSDN。
4.按上面要求编写程序,点击生成
5.可以看到生成成功
6这样我们的dll文件就生成成功了。可以在项目Debug文件夹下查看dll文件
可以使用depends 这个工具来查看dll文件的函数情况,在File->openfile 打开你的dll文件,可以看到Function为add与我们写的一样,如果不一样,说明dll有问题。
7.再建立一个C# 选择Windows 窗体应用程序,点击确定
8. 将刚刚生成的dll文件放到bin目录下的Debug文件下(注意不要放错了,放错会提示找不到),
[DllImport("dll_test.dll",EntryPoint =
"add",CallingConvention =
CallingConvention.Cdecl)]
public
static extern int add(int a,
int b);
注意: public static extern 的写法,后跟的你要导入函数返回值以及函数名。
第一参数表示要加载的dll文件名
EntryPoint 表示函数入口点,即:函数名
使用DllImport 需要在程序上面添加 :using System.Runtime.InteropServices;
这里就可以再C#中调用C/C++的dll文件了。
9 运行程序:
相关文章推荐
- C#调用C++的COM组件简单示例
- C#调用C++写的DLL的简单示例
- C#中简单调用c/c++旧模块(续)
- VS2010 C#调用C++ DLL文件(图文讲解)
- C++调用SQLite简单示例
- VS2010 C#调用C++ DLL文件
- c#调用 c++的dll文件
- C#简单示例调用存储过程
- c#调用c++写成的dll文件
- C#中调用存储过程的简单示例
- C++和C#访问MySQL的简单代码示例
- C#中简单调用c/c++旧模块
- VS2010 C#调用C++ DLL文件(图文讲解)
- C#中调用C++写的dll文件
- VS2010 C#调用C++ DLL文件
- C#中简单调用c/c++旧模块
- c# 调用c++的dll文件
- VC++6.0配置LUA环境和C++调用LUA的简单示例
- (转)VS2010 C#调用C++ DLL文件(图文讲解)
- VS2010 C#调用C++ DLL文件