博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
simplest_dll 最简dll的创建与隐式调用(显式调用太麻烦,个人不建议使用)
阅读量:6757 次
发布时间:2019-06-26

本文共 967 字,大约阅读时间需要 3 分钟。

首先需要有个头文件,名字随便写  假设test.h

//test.h#ifndef _TEST_H#define _TEST_H#ifdef TEST_EXPORTS  //通过宏定义控制是输入还是输出#define TEST_API __declspec(dllexport)#else#define TEST_API __declspec(dllimport)#endifTEST_API int find_max(int,int); //函数声明#endif

然后要有一个和头文件对应的cpp文件,test.cpp

#define TEST_EXPORTS#include "stdafx.h"#include "test.h"int find_max(int a,int b){    return a>b?a:b;}

至于dllmain.cpp,可以暂时不去管它。按F7编译,由于函数没有main()函数,不能执行,只能编译。

 

将生成的simplest_dll.lib和simplest_dll.dll以及test.h文件拷贝到需要调用该dll文件的工程目录下。

在测试工程中包含头文件test.h,并且使用隐式调用的方式实现dll内的函数的调用。

具体代码如下:

// TEST_simplest_dll.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "test.h"#include 
using namespace std;//隐式调用dll文件#pragma comment(lib,"simplest_dll.lib") //也可在 属性->配置属性->链接器->输入->附加依赖项 中进行添加*.lib文件int _tmain(int argc, _TCHAR* argv[]){ int a=10; int b=100; int d=find_max(a,b); cout<<"使用隐式调用的结果:"<
<

这样子就基本完成了一个简单的dll的创建和测试使用。

转载于:https://www.cnblogs.com/audi-car/p/4437744.html

你可能感兴趣的文章
Mac011--DbWrench Database安装
查看>>
[原]Flash研究(一)——本地通讯
查看>>
bootStrap table 和 JS 开发过程中遇到问题汇总
查看>>
【小知识点】input输入框在安卓以及IOS手机中光标及字体不居中解决方法
查看>>
VB 设置循环,以及弹出messageBox
查看>>
linux清理内存
查看>>
得到一个范围的随机数函数
查看>>
经典算法-链表(golang)
查看>>
leetcode — search-a-2d-matrix
查看>>
魔板 bfs() 预处理,记录每种状态。然后状态置换,(重点要用到全排列的hash记录状态)...
查看>>
构建之法课后作业第一次作业(15个题选一个)
查看>>
操作redis方法
查看>>
C语言函数
查看>>
Python3-异常处理
查看>>
Python-简单打印进度条
查看>>
【02】天气查询应用(第二课)
查看>>
监听微信返回按钮
查看>>
第二次实验报告
查看>>
HDU ACM 3790 最短路径问题
查看>>
python生成器
查看>>