刚弄了一个程序,需要链接Dll,采用lib方式。呵呵我真晕没用VC,查了一天终于发现自己错了。
lib方式是一种静态链接的方式必须存在.lib文件才行,方式如下:
//.dll文件
__declspec(dllexport) 函数名
{
//函数体
}
//调用的exe文件
#pragma (lib,"dll文件名")
//函数声明
int main()
{
//调用
}
我晕了一天,我使用的DEVC++的IDE,编译器是g++。很明显没生成.lib文件。
这时我只能使用第二种方式进行链接调用了。动态链接
//dll文件可以不用任何的改变,也可以不用上面的dll的导入函数
//exe文件调用函数
HINSTANCE hp = LoadLibrary(调用的dll文件名);
typedef int (*pss)();
pss pd = GetProcAddress(hp,"函数名");/*这我曾经因为分开写犯了个十分低级的错误,事迹上定义了一个空指针函数*/
pd();//这个函数可以直接使用了