C++è°ç¨windowsåºå±APIçæ¹æ³æ¯éè¿å¨æé¾æ¥åºå®ç°çã
å¾å¤windowsåºå±APIå½æ°æ¯åå¨äºå¨æé¾æ¥åºçï¼éè¿è°ç¨DLLæ¥å®ç°è°ç¨å½æ°çç®çã
åºå±apié½å¨ç³»ç»ç®å½ä¸çdlléé¢ï¼c++å°±æ¯éè¿è°ç¨è¿äºå¨æåºæ¥è°ç¨åºå±APIçã
ä¸é¢æ¯éè¿æ¾å¼é¾æ¥è°ç¨DLLä¸çMaxå½æ°çä¾åã
#include
#include
void main(void)
{
typedef int(*pMax)(int a,int b);
typedef int(*pMin)(int a,int b);
HINSTANCE hDLL;
PMax Max
HDLL=LoadLibrary("MyDll.dll");//å è½½å¨æé¾æ¥åºMyDll.dllæ件ï¼
Max=(pMax)GetProcAddress(hDLL,"Max");
A=Max(5,8);
Printf("æ¯è¾çç»æ为%d\n"ï¼a);
FreeLibrary(hDLL);//å¸è½½MyDll.dllæ件ï¼
}
å¨ä¸ä¾ä¸ä½¿ç¨ç±»åå®ä¹å
³é®åtypedefï¼å®ä¹æååDLLä¸ç¸åçå½æ°ååæéï¼ç¶åéè¿LoadLibray()å°DLLå è½½å°å½åçåºç¨ç¨åºä¸å¹¶è¿åå½åDLLæ件çå¥æï¼ç¶åéè¿GetProcAddress()å½æ°è·å导å
¥å°åºç¨ç¨åºä¸çå½æ°æéï¼å½æ°è°ç¨å®æ¯åï¼ä½¿ç¨FreeLibrary()å¸è½½DLLæ件ãå¨ç¼è¯ç¨åºä¹åï¼é¦å
è¦å°DLLæ件æ·è´å°å·¥ç¨æå¨çç®å½æWindowsç³»ç»ç®å½ä¸ã
温馨提示:答案为网友推荐,仅供参考