回覆列表
-
1 # 使用者928021938244
-
2 # 使用者7169188564904
typedef BOOL (WINAPI *lpfSetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DWORD);//裡面的函式型別地址
HINSTANCE m_hInctance = LoadLibrary("User32.DLL");
if (m_hInctance)//載入DLL名為User32.DLL
m_pfSetLayeredWindowAttributes = (lpfSetLayeredWindowAttributes)GetProcAddress(m_hInctance, "SetLayeredWindowAttributes");//得到名為SetLayeredWindowAttributes函式的地址
你專案的需求是什麼樣的,匯出類還是匯出函式各有各的好處。
DLL匯出類:
優點:匯出的類可以被繼承,呼叫層次也清晰,可以保留類的完整特性;
缺點:不能被其它語言呼叫(包括C語言),封裝性並不是太好。
匯出函式:
優點:可以被其它語言呼叫,使用簡單,封裝性相對較好;
缺點:呼叫層次不明顯,尤其是在匯出函式多的情況下,比較混亂,不能出現同名匯出函式。
從以上可以看出,各有優缺點,因此,要根據你自己的需求來決定要使用哪一種匯出方式,當然,還有一種較為好用的方式,就是匯出介面。利用C++的繼承,可以將類的介面匯出,這樣,介面與實現也分離了,層次也清晰,但只能被C++程式呼叫。