孙鑫19课笔记

//隐式链接,方便,全部加载到内存空间,时间代价高。

//dll1.h


#ifdef DLL1_API

#else

#define DLL1_API extern "C" _declspec(dllimport) // extern "C"不改函数名。

#endif


DLL1_API int _stdcall func(); // _stdcall:标准调用约定,有extern "C"也会改函数名。


//dll1.m

#define DLL1_API extern "C" _declspec(dllexport)

#include "dll1.h"


 int _stdcall func()

{

}


//dll1.def

LIBRARY dll1


EXPORTS

func(func_alias)


// 动态加载,需要时加载

GetLibrary()

GetProcAddress(,)


HINSTANCE hInst;

hInst = LoadLibrary("Dll1.dll");

typedef int (*FUNCPROC)();

FUNCPROC func = (FUNCPROC)GetProcAddress(hInst, "func");

FUNCPROC func = (FUNCPROC)GetProcAddress(hInst, MAKEINTRESOURCE(1)); // 用序号

if (!func)

{

 // no "func"

}


FreeLibrary(hInst);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值