C++动态链接库
发如雪-ty
一个工作7年的程序员,一直从事C++开发方面的工作,曾有幸在安防行业深耕4年,并有幸在工业检测行业工作至今已有3年,主要负责系统软件的设计与开发,个人编程的信仰:不要盲目学习酷炫的东西,最重要的依然是内功。
展开
-
C++动态链接库-12-MFC扩展DLL
在cpp源文件中添加:原创 2021-10-31 17:04:26 · 94 阅读 · 0 评论 -
C++动态链接库-11-带静态链接MFC的规则DLL
就画红线的配置不一样,其他都一样。原创 2021-10-31 16:34:23 · 85 阅读 · 0 评论 -
C++动态链接库-10-共享MFC DLL的规则DLL
在类CMy012App所在的cpp文件中,添加如下的代码#include "MyDialog.h"__declspec(dllexport) void ShowMyDialog() { //下面这一句非常重要。。。。。。。 AFX_MANAGE_STATE(AfxGetStaticModuleState()); CMyDialog dlg; dlg.DoModal();}新建一个工程调用012.dll#include <iostream>using...原创 2021-10-31 16:25:31 · 163 阅读 · 0 评论 -
C++动态链接库-09-DLL导出变量
原创 2021-10-31 15:37:31 · 324 阅读 · 0 评论 -
C++动态链接库-08-DLL的入口函数DllMain函数
可以在DLL_PROCESS_ATTACH中进行初始化操作。原创 2021-10-31 15:23:12 · 335 阅读 · 0 评论 -
C++动态链接库-07-DLL导出C++类
新建一个dll工程:TestClassDemo,然后添加一个TestClassDemo.h,TestClassDemo.cpp默认存在。TestClassDemo.h:#pragma onceclass IAnimal{public: virtual void run() = 0; virtual void sleep() = 0; virtual void releaseObj() = 0;};__declspec(dllexport) IAnimal*GetAn...原创 2021-10-30 23:02:33 · 237 阅读 · 0 评论 -
C++动态链接库-07-调用约定__cdecl、__stdcall
原创 2021-10-30 21:57:16 · 269 阅读 · 0 评论 -
C++动态链接库-06-DLL中.def文件的使用
一、DLL中导出函数的3中声明方式二、什么是模块定义文件三、.def文件的规则新建一个dll项目,名称为007,并在007.cpp中添加如下代码:接下来,添加一个模块添加成功之后,如下:现在做如下添加LIBRARYEXPORTSfun @1Min @2Max @3...原创 2021-10-30 21:41:36 · 1670 阅读 · 0 评论 -
C++动态链接库-05-__declspec(dllimport)和(dllexport)
使用案例介绍:1.在编写的DLL的头文件中,如下操作在dll的实现文件中。如下:在main.cpp中如果要使用,没有定义_DLL_EXPORT,则就会使用__declspec(dllimport)原创 2021-10-30 16:47:47 · 197 阅读 · 0 评论 -
C++动态链接库-04-extern C用法详解
001.h:#pragma once001.cpp:int aaa = 200;main.cpp:#include <iostream>using namespace std;extern int aaa;void main(){ cout << aaa << endl; system("pause");}结果:对于extern "C"关键字可以参考我的另一篇文章extern C解决下面的问题:注意:不能在C源文件中使用e.原创 2021-10-30 15:58:05 · 684 阅读 · 0 评论 -
C++动态链接库-03-dll的两种调用方式
原创 2021-10-30 15:00:10 · 145 阅读 · 0 评论 -
C++动态链接库-02-动态链接库
一、什么是动态链接库动态链接库通常包含一堆程序员自己定义的变量与函数,可以在运行时动态链接到可执行文件中。windows操作系统核心有三个动态链接库:Kernel32.dll,User32.dll,Gdi32.dll这些动态库构成了win32 API函数二、如何创建动态库(dll)添加头文件和源文件,如下:1.h:#pragma onceextern "C" _declspec(dllexport)int GetMultiplication(int a,int b);//声明原创 2021-10-30 13:50:21 · 455 阅读 · 0 评论 -
C++动态链接库-01-静态链接库
1、什么是静态库静态库通常包含一堆程序员自己定义的变量与函数,在编译期间由编译器与链接器将它集成到可执行文件中。在windows下 以.lib结尾,在linux以.a结尾的文件。优点:发布时只需发布exe,因为库已经集成到可执行文件中,运行时对这个库不再依赖。缺点:静态库集成到可执行文件中导致exe文件较大,后续想升级库必须重新编译。2、创建静态库的步骤配置属性如下:新建头文件:test01.h新建cpp文件:test01.cpp编译后如下:至此静态库生成完毕3、静态原创 2021-10-30 11:47:34 · 211 阅读 · 0 评论