【转载】VC.net 实现dll 编程
来源:互联网 发布:f35战机编程语言 编辑:程序博客网 时间:2024/05/19 02:28
而DLL在VC中有三种形式:
1、Non-MFC Dlls
2、Regular Dlls
3、Extension Dlls
Non-MFC DLL:指的是不用MFC的类库结构,直接用C语言写的DLL,其输出的函数一般用的是标准C接口,并能被非MFC或MFC编写的应用程序所调用。
Regular DLL:和下述的Extension Dlls一样,是用MFC类库编写的。明显的特点是在源文件里有一个继承CWinApp的类。其又可细分成静态连接到MFC和动态连接到MFC上的。但静态连接到MFC的动态连接库只被VC的专业般和企业版所支持。
Extension DLL:用来实现从MFC所继承下来的类的重新利用,也就是说,用这种类型的动态连接库,可以用来输出一个从MFC所继承下来的类。Extension DLL使用MFC的动态连接版本所创建的,并且它只被用MFC类库所编写的应用程序所调用。
通常情况下,我们只需要使用第一种形式的DLL即可,下面将具体介绍如何在VC.net环境下快速实现DLL编程。
图1 创建DLL项目
一、创建DLL项目
如图1,在左边窗口选择Visual C++项目下的Win32,在窗口右面选择Win32控制台项目,在窗口下方填入项目名称,然后点击确定按钮。出现图2应用程序向导窗口。
在图2中,左边选择“应用程序设置”,然后在右面的窗口中选择应用程序类型为DLL,附加选项中将导出符号项钩上。具体见(图2)。
钩上导出符号选项后,在随后生成的DLL项目中就会有简单例子示例,从而很简单的就能添加自己所需要的函数和类。
最后点击确定按钮。一个DLL项目就完成了。
图2 应用程序设置
二、编写所需函数或类
在产生的DLL项目中选择testDLL.h文件,会有下面的一些代码示例:
// 此类是从 testDLL.dll 导出的
class TESTDLL_API CtestDLL {
public:
CtestDLL(void);
// TODO: 在此添加您的方法。
};
extern TESTDLL_API int ntestDLL;
TESTDLL_API int fntestDLL(void);
其中class TESTDLL_API CtestDLL是如何到处类的实例。
TESTDLL_API int fntestDLL(void)是如何导出函数的实例。
extern TESTDLL_API int ntestDLL是如何到处变量的实例。(由于是在testDLL.cpp中定义的,所以这边使用的extern作为远程声明。)
即所有需要导出的类、函数、变量,只需要在他们的定义前增加TESTDLL_API即可。而TESTDLL_API是在testDLL.h中由VC.net自己自动生成的。具体生成文件见testDLL.h。
#ifdef TESTDLL_EXPORTS
#define TESTDLL_API __declspec(dllexport)
#else
#define TESTDLL_API __declspec(dllimport)
#endif
如上所述,就可以将所要转化成DLL的工程很容易的轻松实现
- 【转载】VC.net 实现dll 编程
- VC.net环境下轻松实现DLL编程
- vc dll编程
- vc dll编程
- vc dll编程
- vc dll编程
- vc dll编程
- vc dll编程
- VC Dll编程- -
- vc dll编程
- vc dll编程
- VC之DLL编程
- vc dll编程
- VC DLL编程
- VC Dll之一 (转载)
- VC EXE转DLL (转载)
- [转载] VC编写DLL指南
- VC++实现DLL注入
- CSS select Hack 汇总快查
- convert a string to XmlElement
- 阅读我们的学科——1-广泛了解
- 通用数据权限管理系统设计
- 卫生部提醒立即停用三鹿奶粉 有关部门展开调查
- 【转载】VC.net 实现dll 编程
- Excel的数据导入到PB的DW中
- java与C++的区别
- linux设备模型详解
- asp.net程序性能优化
- 学习dotnet第四课关于绘图的自己做的实例源代码,存在这儿,方便复习.
- xp + ubuntu双系统,网卡Atheros L2 Fast Ethernet 10/100 Base-T 不能上网的原因【原创】
- 大学毕业后再看会后悔一辈子
- Flex的动画效果与变换!(二)