VS2008创建dll,并使用dll
原来一直使用vc6.0做开发,但是公司主要使用vs2008工具,刚开始使用的时候感觉非常不好用,但是一周下来,不禁感叹,还是新的好啊,嘿嘿!
这里总结一下vs2008下创建dll并使用dll导出函数的方法,当然方法还有很多,找出一个自己比较习惯的方法就好!
一:生成DLL
1:创建DLL工程
文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以)
填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成。
到这里DLL工程就创建完毕了,下面新建两个文件MyDLL.cpp和MyDLL.h。
MyDLL.cpp内容如下:
- #include <iostream>
- using namespace std;
- #include "MyDLL.h"
- int Add(int &a,int &b)
- {
- return a+b;
- }
MyDLL.h内容如下:
- #pragma once
- #define DLL_EXPORT __declspec(dllexport)
- extern "C" DLL_EXPORT int Add(int &a,int &b);
点击生成,则dll文件就生成了,vs2008不能直接生成lib文件,这个时候就需要我们在建立dll工程的时候 再新建一个def文件,默认生成然后重新生成就能够得到lib文件了
2:调用DLL文件导出的接口函数
vs2008这个IDE非常好用,我们这里玩一下,在上面创建的DLL工程中,再新建一个项目来直接调用DLL导出函数。
右键解决方案->添加->新建项目->建立一个空的常规工程 testMyDLL,下面新建两个文件testMyDLL.cpp和testMyDLL.h
testMyDLL.cpp内容如下:
- #include "testMyDLL.h"
- #pragma comment(lib,"..\\debug\\MyDLL.lib")
- #include <iostream>
- using namespace std;
- int main()
- {
- int a =3;
- int b =2;
- cout<<Add(a,b)<<endl;
- getchar();
- }
testMyDLL.h内容如下:
- #pragma once
- #define DLL_EXPORT __declspec(dllexport)
- extern "C" DLL_EXPORT int Add(int &a,int &b);
这里需要注意testMyDLL.cpp文件中调用lib的这句话:
- #pragma comment(lib,"..\\debug\\MyDLL.lib")
这里需要指明lib所在的文件夹,当然我们也可以在生成dll的MyDLL工程中,指定lib和dll文件的输出路径,直接到testMyDLL工程下。
注:dll文件的操作有很多方法,待以后丰富。。。
转载于:https://blog.51cto.com/marico/491436
VS2008创建dll,并使用dll相关推荐
- vs2008 C++创建和调用标准DLL
为了共享代码,需要生成标准的dll,本文将介绍在vs2008 C++生成及调用dll. 一.生成DLL 生成一个名为FunDll的dll文件,对外函数为addl. step1:vs2008 环境下,文 ...
- Qt DLL总结【三】-VS2008+Qt 使用QPluginLoader访问DLL
目录 Qt DLL总结[一]-链接库预备知识 Qt DLL总结[二]-创建及调用QT的 DLL Qt DLL总结[三]-VS2008+Qt 使用QPluginLoader访问DLL 开发环境:VS20 ...
- wxWidgets:创建应用程序的 DLL
wxWidgets:创建应用程序的 DLL wxWidgets:创建应用程序的 DLL 问题 创建一个 wxWidgets DLL 应用程序,支持 GUI 头文件:wxWidgetsDLL.h 源文件 ...
- 如何正确创建DLL和使用DLL
如何正确创建DLL和使用DLL 本文将通过一个简单的实例来说明,如何正确的导出DLL中的类.对象.函数,并如何通过静态加载或动态加载的方式来使用DLL. 一.DLL中导出类.函数.对象 1. 创建一个 ...
- VC++6.0如何创建与调用动态链接库(dll)
VC++支持的DLL: DLL的编制与具体的编程语言及编译器无关,动态链接库随处可见,VC++支持三种DLL:非MFC动态库.MFC规则DLL和MFC扩展DLL.DLL导出函数(或变量.类)可供应用程 ...
- windows中dllmain,创建进程和转发dll
dllmain dll模块的函数入口 BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved ...
- vs2010 导出创建dll 导入使用dll 导出有命名空间的类 函数 外部函数
2. #include "targetver.h" // dlltest.cpp : 定义 DLL 应用程序的导出函数. //#include "stdafx.h&quo ...
- 转 ajax.dll 与 ajaxpro.dll的用法
转 ajax.dll 与 ajaxpro.dll的用法 文章分类:.net编程 ASP.NET AjaxPro的应用 1.首先下载AjaxPro组件.并将AjaxPro.dll引用到网站(或项目). ...
- c++显式加载dll并使用DLL的类
转载自: http://blog.163.com/tianjunqiang666@126/blog/static/8725911920121064573594/ 首先需要强调,当使用某个类时一般 ...
最新文章
- SAP S4HANA系统里的客供件管理
- linux下mysql修改root密码
- IN-12辉光数码管:俄罗斯进口的器件
- java反射三种_Java反射
- [导入]OpenSceneGraph编译指导
- Spring MVC实现Spring Security,Spring Stomp websocket Jetty嵌入式运行
- 关于ANTLR的通用库的需求:使用反射来构建元模型
- 论文浅尝 | 基于动态知识图谱向量表示的对称合作对话代理的学习
- validation 参数校验和统一异常处理
- python所有变量更新_python更新全局变量
- Python入门--方法重写
- ACWING828 模拟栈
- Atitit 企业文化建设 职称体系建设 之道 attilax著 1. 职称	1 1.1. 职称级别 prc poc 设正高级、副高级、中级、助理级	1 2. Uke职称级别 资深 高级
- springboot + mybatis-plus + quaryz 数据库持久化任务调度
- P2P终结者的工作原理
- ios逆向笔记--越狱IOS平台简介
- c语言编程后怎么做成软件,编程软件是用来编程的,那编程软件是怎么做出来的?...
- 90 后美女独家秘籍:从小白到 AI 算法工程师
- 讨厌程序员_我是程序员但讨厌编程
- 易宝支付Demo,生产中封装成简洁的代付接口,不用request如何获取项目运行时的真实路径...