C# 调用VC++的DLL,VC++封装DLL
VS中新建一个动态库项目

文件生成一个工程名对应的.cpp文件,该文件定义 DLL应用程序的导出函数。
工程内新建一个类OutputInt,我用类向导生成,工程中会添加OutputInt.cpp和OutputInt.h两个文件,
在.h文件中声明函数
#pragma once
class OutputInt
{
public:
OutputInt();
~OutputInt(); static _declspec(dllexport) int TestFunction();
};
在.cpp文件中实现 构造函数、析构函数和 自定义函数
#include "stdafx.h"
#include "OutputInt.h" OutputInt::OutputInt()
{
} OutputInt::~OutputInt()
{
} int OutputInt::TestFunction()
{
return ;
}
类和头文件都实现了。
然后在Win32Project1.cpp中定义对外暴露的函数
#include "stdafx.h"
#include "OutputInt.h" extern "C" __declspec(dllexport) int TestFunction()
{
OutputInt outPut;
return outPut.TestFunction();
}
编译,生成对应工程项目名的DLL文件,动态链接库生成完成。
在C# WPF应用程序中调用以上生成的DLL
把生成的DLL文件拷贝到 WPF工程的DEBUG文件夹下,调用方式:
[DllImport("Win32Project1.dll", ExactSpelling = false)]
 public static extern int TestFunction();

调用完成。
C# 调用VC++的DLL,VC++封装DLL的更多相关文章
- ASP 调用dll(VB)及封装dll实例
		ASP调用dll及封装dll实例,封装为dll可以提供运行效率,加密代码. 打开VB6,新建ActiveX DLL 2.在工程引用中加入Microsoft Active Server Pages Ob ... 
- Dll封装dll,并且调用该封装的dll
		按照图1,2,3创建一个默认的(可以导出符号的dll项目) 默认创建的,很好地给我们说明了怎么导出 变量,导出函数,导出类 注意这里加入你要导出的函数的声明 WIN32PROJECT1_API int ... 
- vc编译器 msvcr.dll、msvcp.dll的含义和相关错误的处理
		转自:http://blog.csdn.net/sptoor/article/details/6203376 很久没有写程式设计入门知识的相关文章了,这篇文章要来谈谈程式库 (Library) 连结, ... 
- Win32 DLL和MFC DLL 中封装对话框
		现在最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是一个很普遍的关于如何在DLL中使用资源的问题.这里我们从Win32 DLL和MFC DLL两个方面来分析并解决这个问题. ... 
- Unity C# 调用 C++ DLL 并在 DLL 中调用 C# 的回调函数
		Unity C# 调用 C++ DLL 并在 DLL 中调用 C# 的回调函数~~~ 呵呵... 看着有点晕.. 再解释一下就是 在Unity中 使用 C# 调用 C++ 写的 DLL, 但是在 ... 
- matlab封装DLL混合编程总结
		最近做了个项目要用到matlab做些算法处理,然后用.net项目调用这个类,我把这个matlab封装dll总结了下如下: matlab是商业数学软件,优势是在算法开发上面有很强的功能,提供了很多数学算 ... 
- ffdshow 源代码分析 6: 对解码器的dll的封装(libavcodec)
		===================================================== ffdshow源代码分析系列文章列表: ffdshow 源代码分析 1: 整体结构 ffds ... 
- 用DLL方式封装MDI子窗体
		用DLL方式封装MDI子窗体是一种常用的软件研发技术,他的长处: 研发人员能够负责某一个模块的编写包括(界面+逻辑),能够互不干扰,模块研发完成后,主程式统一调用. 易于程式升级,当程式升级时,不用编 ... 
- Unity封装dll教程整理
		///作者Unity3d师兄---LeroyYang 通过网上大神们的资料以及自己的整理,学习一下用vs2013简单的封装dll文件,方便接口模式下开发,使得逻辑层更为清晰. 操作步骤 1.打开vs2 ... 
- 享受一下大神的感觉, unity中用C#自己封装dll
		第一次写博客,有什么不对的地方,欢迎大家指出 (1)打开vs(本人用的是vs2013)然后建一个项目,如下图所示,选择.ENT3.5的框架,或者低于3.5的,这是因为Unity里面用的框架可能在3.5 ... 
随机推荐
- 禁止用户自己停止SEP - 飞舞的菜刀 - 51CTO技术博客
			员工在自己的工作站上,右键点击状态栏SEP图标,停止SEP服务,导致管理员定制的策略失效,针对上述情况,请安装下述方法操作. 1. 打开SEPM. 2. 在[策略]里选中你所使用的[防病毒和防间谍软件 ... 
- Memcached 笔记与总结(2)编译 php-memcache 扩展
			环境:CentOS 6.6 + Apache 2.2.21 + PHP 5.3.10 php-memcache 是 php 写的 memcached 的客户端,以扩展的形式发布. 对于正在运行的 ph ... 
- tomcat启动报错:IOException while loading persisted sessions: java.io.EOFException.
			tomcat启动错误代码: 严重: IOException while loading persisted sessions: java.io.EOFException java.io.EOFExce ... 
- phpcms 导航栏点击栏目颜色定位方法
			另:一个栏目下面如果没有子栏目,那么它调用的模板就是列表页模板(及list_为前缀的模板):如果一个栏目下面有子栏目,那么它调用的就是栏目首页模板(category_为前缀的模板). 当你这个栏目添加 ... 
- nrf51822-使用16位自定义UUID
			以 ble_app_uart为例 工程中创建的nus服务以及其中的两个特性值都是128位的UUID.nordic sdk中使用128位UUID的方式和标准128UUID类似,它是提供一个基准UUID, ... 
- java并发编程-线程池的使用
			参考文章:http://www.cnblogs.com/dolphin0520/p/3932921.html 深入剖析线程池实现原理 将从下面几个方面讲解: 1.线程池状态 2.任务的执行 3.线程池 ... 
- drop、 truncate 、 delete
			相同点: truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构 drop语句将删除表的 ... 
- Linux下编译静态MinGW环境,编译windows平台Qt程序(使用MXE)
			参考链接: MXE.>大多数程序都是在windows平台下开发的程序.windows 在现实中也是绕不过的一个系统平台,做为受过几年VC,MFC”虐待”的程序员,在做为一个程序员之前是一位Lin ... 
- 【Android测试】【随笔】模拟双指点击
			◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5258660.html 手势 看到这个标题,很多人会想一想 ... 
- Linq&Lumbda
			var y = from model in list.Where(s=>s.product==product||product=="") ... 
