C#中调用c++的dll具体创建与调用步骤,亲测有效~

使用的工具是VS2010哦~其他工具暂时还没试过

我新建的工程名是my21dll,所以会生成2个同名文件。接下来需要改动的只有画横线的部分

下面是my21dll.h里面的。。。

下面的1是自动生成的不用动,或者也可以不要,因为只是一个宏而已下面可以做相应修改。

下面的2是自动生成的类,我没用就注释掉了

下面的3是自动生成的一个测试函数,原来函数最前面是extern,记住精髓是要改成EXTERN_C

下面的4是我自己写的一个测试函数,用来求和

下面是my21dll.cpp里面的

号3对应上面号3的函数,号4对应上面号4对应的函数。

下面要修改工程的属性

下面是生成dll,两个红线的都可以

然后就可以在DeBug文件夹下看到dll了(~ ̄▽ ̄)~

再创建一个c#的控制台程序调用看看吧

我那是两个分开的函数,所以每一个都要写一个DllImport和extern static来声明,然后下面就可以像调用普通函数一样调用了。<( ̄ˇ ̄)/

输出

后来我又测试了一下,假如c#中调用的c++函数里调用了c++里的其他函数,里面套用的那些函数也需要声明吗?

我先把.h里面的fnmy21dll()注释掉

又把.cpp文件里函数做了相应修改

c#的函数也只声明了Add函数,看看行不行~

结果,没问题,成功了,说明只要最终在c#中显示出来的函数进行了声明就可以了,而且那些被调用的函数也可以像普通函数那样去写,只有不要export的函数写上输出的声明就可以了(^-^)V

时间: 2024-08-08 01:26:15

C#中调用c++的dll具体创建与调用步骤,亲测有效~的相关文章

DLL 的创建及调用,效果及源码

源码地址:http://files.cnblogs.com/tiankaileo/DLL.rar

iOS 中快速简单高效的实现自定义tableViewCell 的方法-亲测实战版本-精华版

ios7 新升级之后界面有了很大的变化,xcode模拟器去掉了手机边框和home键,如果想回到主页面,可以按住shift+comment+r键.废话少说先展示一下新UI下UItableView设置为Group后的效果: 整体界面显得更加简洁,而且UITableViewCell的宽度默认为满屛,也取消了圆角. 下面说下自定义UITableView的过程: 首先在storyboard中给cell拖过来一个UIimageView和两个label 然后新建一个MyCell类继承自UITableViewC

WinForm中为按钮添加键盘快捷键,超简单,亲测有效

博主并没有多少Windows平台下程序的开发经验,一年前使用过MFC设计过一个指纹识别系统的页面,后来就没有使用过几次.现在C#课程实验要求实现一个简易计算器,为了便于快速录入数据,使用键盘会比使用鼠标点击按钮高效很多.比如按下小键盘的数字1,能够实现和用鼠标点击按钮1一样的效果就行. 百度了一遍,找到的教程几乎是一模一样的,各种csdn转载的博文上都提供了好几种方法,但试了没有一个管用,不知道什么地方配置出错了.后来Google了一下,点击第一个搜索结果,StackOverFlow的问答,顺利

Qt DLL总结【二】-创建及调用QT的 DLL(三篇)good

目录 Qt DLL总结[一]-链接库预备知识 Qt DLL总结[二]-创建及调用QT的 DLL Qt DLL总结[三]-VS2008+Qt 使用QPluginLoader访问DLL 开发环境:VS2008+Qt4.7.4 最近看了不少Qt的DLL例子,总结一下如何创建和调用QT 动态链接库. 先讲一下对QT动态链接库的调用方法,主要包括: 1.显式链接DLL,调用DLL的全局函数,采用Qt的QLibrary方法 2.显示链接DLL,调用DLL中类对象.成员函数.(通过对象即可实现类成员函数的调用

Qt DLL总结【二】-创建及调用QT的 DLL

开发环境:VS2008+Qt4.7.4 最近看了不少Qt的DLL例子,总结一下如何创建和调用QT 动态链接库. 先讲一下对QT动态链接库的调用方法,主要包括: 1.显式链接DLL,调用DLL的全局函数,采用Qt的QLibrary方法 2.显示链接DLL,调用DLL中类对象.成员函数.(通过对象即可实现类成员函数的调用) ①用虚函数表的方法,这也是COM使用的方法,利用Qt的QLibrary技术调用: ②用GetProcAddress直接调用. ③用Qt的QPluginLoader类直接调用生成的

Delphi中DLL的创建和使用【转】

Delphi中DLL的创建和使用     1.DLL简介:   2.调用DLL:   3.创建DLL:   4.两个技巧:   5.初始化:   6.例外处理.            1.DLL简介     DLL是Dynamic-Link   Libraries(动态链接库)的缩写,库里面是一些可执行的模块以及资源(如位图.图标等).可以认为DLL和EXE基本上是一回事,只是DLL不能直接执行,而必须由应用程序或者其他DLL调用.DLL为应用程序间的资源共享提供了方便,同时也是多语言混合编程的

C/C++中动态链接库的创建和调用

DLL 有助于共享数据和资源.多个应用程序可同时访问内存中单个DLL 副本的内容.DLL 是一个包含可由多个程序同时使用的代码和数据的库.下面为你介绍C/C++中动态链接库的创建和调用. 动态连接库的创建步骤: 创建Dll有两种方式. 一.创建Non-MFC DLL动态链接库 1.打开File —> New —> Project选项,选择Win32 Dynamic-Link Library —>sample project —>工程名:DllDemo 2.新建一个.h文件DllDe

在Windows Phone项目中调用C语言DLL

在Windows Phone项目中调用C语言写的DLL 最近接到一个需求,需要在WP里调用一个C语言写的DLL,并且说Android和iOS都可以,问我WP是否可以这样? 我说我调研一下,就有了下面的文章. 在传统C# WinForm 里调用Win32 DLL都不容易(可能用惯了C#),要用P/Invoke,然后DllImport什么什么,那WP里不是更麻烦? 先看看网上有没有可用的文章,结果还真找到devdiv中的文章,但其中有两处错误,所以我fix bug并且整理一下,然后展示给大家. 1.

QT创建与调用Dll方法(包括类成员)--显式调用

看网上的好多关于QT调用Dll的方法,大部分都是调用函数的,并没有调用C++类成员的情况,即使是有,比如说: 使用Qt编写模块化插件式应用程序 Qt 一步一步实现dll调用(附源码)---(这一篇里没有调用类成员的) Qt调用dll中的功能函数 ?我就是按照这上面的教程一步步做的,可惜了都没成功~~~这里面都有一个最重要的步骤没有说清楚(可能怪我笨~~),路径问题!!! 所以这里自我做一下总结: 创建时选择C++ Library就可以了,然后选择Shared Library(共享库),其他默认O