既然写了静态链接库,就顺带把动态链接库也学习下。
创建一个动态链接库工程,名称为ConvertDynamicLib
在cpp文件中写入下面的代码
1 #include "stdafx.h" 2 #include3 #include 4 #include 5 6 BOOL APIENTRY DllMain( HANDLE hModule, 7 DWORD ul_reason_for_call, 8 LPVOID lpReserved 9 )10 {11 return TRUE;12 }13 14 __declspec(dllexport) void BinToDec(char* szDecOutput,char* szBinInput)15 {16 int nDecimal=0;17 int Len=lstrlen(szBinInput);18 for (int i=0;i
__declspec(dllexport)在这里的意思是把后面的函数作为导出函数,以便可以在其它程序中使用
编译
========================================
新建一个控制台程序,将动态链接库的dll文件和lib文件拷贝到当前的工程目录中
lib文件为编译时需要,dll为运行时需要
1 #include "stdafx.h" 2 #include3 4 #pragma comment(lib,"ConvertDynamicLib.lib") 5 void BinToDec(char* szDecOutput,char* szBinInput); 6 void OctToDec(char* szDecOutput,char* szOctInput); 7 8 9 int main(int argc, char* argv[])10 {11 char tk[256]="";12 char inputsz[256]="1010101001";13 BinToDec(tk,inputsz);14 printf("%s\n",tk);15 return 0;16 }
看代码就知道,添加lib文件,声明dll中的函数
然后在main函数中调用函数。