动态链接库独立于可执行文件之外,用于存储函数、资源等内容,减小了exe文件的大小。后缀名为.exe。
一、新建项目生成DLL
(一)新建项目
选择win32控制台程序–》选择dll–》不选择预编译头等
1.添加头文件first_dll.h
头文件声明要输出的函数名称,添加如下代码:
#pragma once
extern "C" _declspec(dllexport) int sum(int a,int b);// (1)
注释:
(1)采用C的语法为函数的导出声明
2.添加源文件first_dll.cpp
引用头文件、定义函数体,添加如下代码:
// first_dll.cpp : 定义 DLL 应用程序的导出函数。
//
#include "stdafx.h"
#include "first_dll.h"
int sum(int a,int b){
return a+b;
}
(二)生成项目
右击项目名称生成,会在解决方案的Debug或者Release文件夹下生成相应的.dll和.lib文件(.lib文件不是静态链接库,而是.dll的符号文件)
如果上一步中添加的头文件缺少代码extern "C" _declspec(dllexport)
,则不会生成.lib文件。
二、新建项目调用DLL
(一)调用方法一:用extern "C"引用
新建win32控制台程序,选择exe程序–》添加原文件test.cpp
添加如下代码:
// test.cpp : 定义控制台应用程序的入口