今天简单介绍一下如何生成动态链接库(dll)。本文将以VS2008为平台,基于 FTDI公司的chip,制作了通过串口读写硬件寄存器的API。
1、建立工程:
打开VS2008,依次点击“file —> new —> project —> Win32 Console Application”。注意:“Createdirectory for solution”前边的勾可去掉,如果选上可以在同一目录下创建多个工程,供解决方案共享,这里不做讨论。
点击“OK —> next”进入“Application Setting”。“Application type”选择DLL,“Application options”选择Empty project。点击finish,工程创建完毕。
2、编写要生成API的函数
首先,将FTDI公司提供给我们的静态库——FTD2XX.lib和头文件——FTD2XX.h拷贝到工程目录下。并将FTD2XX.h引入到工程中。
然后,编写MyAPI.cpp和MyAPI.h。注意:MyAPI.h中要包含“#pragma comment(lib,"FTD2XX.lib")”,表示MyAPI.cpp中需要调用FTD2XX.lib的函数。MyAPI.cpp中引入MyAPI.h即可。
MyAPI.h:
#include <iostream>
#include <windows.h>
#include "FTD2XX.H"
#pragma comment(lib,"FTD2XX.lib")
#define MyDLL_EXPORT__declspec(dllexport)
extern "C" MyDLL_EXPORT int UCPS232Init();
extern "C" MyDLL_EXPORT int UCPS232Release();
extern "C" MyDLL_EXPORT int WriteByteRegister(charDeviceID, char Offset, charValue);
extern "C" MyDLL_EXPORT int ReadByteRegister(charDeviceID, char Offset, BYTE* readValue);
最后,生成工程即可,注意:生成工程时要选择release。
在工程目录下的release文件夹下即可看到我们生成的MyDll.dll和MyDll.lib