前前后后,我有一搭没一搭的学习编写测试桩终于初有成就,终于完成了第一个动态库,这段程序,就是实现一个动态库,该动态库只有一个用来打印的函数,在再main函数中动态调用这个动态库
下面附上我的一段代码:
///
DllLab.h
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------#ifdef _DllLab_H_
#define _DllLab_H_
extern "C" __declspec(dllexport) void fun (char * str);
#endif
///
DllLab.cpp
---------------------------------------------------------------------------------------------------------------------------------------------------------------
#include "DllLab.h"
#include "stdio.h"
extern "C" __declspec(dllexport) void fun (char * str)
{
if(NULL == str)
{
printf("/n");
}
else
{
printf("%s",str);
}
return ;
}
///
main.cpp
-------------------------------------------------------------------------------------------------------------------------------------------------------------
#include "windows.h"
#include "WINBASE.H"
#include "stdio.h"
//#include "DllLab.h"
typedef void (*fun) (char * str);
void main()
{
HMODULE LibHdl = LoadLibrary("F://dev//dev//dllajun//Debug//DllAjun.dll");
fun pfun = NULL;
if (NULL != LibHdl)
{
pfun = (fun)GetProcAddress(LibHdl, "fun");
}
if( NULL != pfun)
{
pfun("aaaaaaaa");
}
FreeLibrary(LibHdl);
getchar();
return ;
}
///