Win32學習筆記 動態庫其他

2021-06-16 11:41:56 字數 999 閱讀 6133

一動態庫中的變數

1. 定義全域性變數

2. 匯出全域性變數

2.1 _declspec(dllexport)匯出

2.2 def檔案匯出

在def檔案的匯出列表中增加 g_nvalue @1 data

3. 匯入lib檔案

4. 定義匯入變數

需要使用_declspec(dllimport)定義變數

extern _declspec(dllimport) int g_nvalue

5. 使用變數

二動態庫中的類

1. 建立動態庫並定義類

2. 從dll匯出類

在類名稱前增加_declspec(dllexport)定義

3. 使用時匯入lib檔案

4.匯入類

在類名稱前增加_declspec(dllimport)定義

5. 使用類

6. 關於類的匯入和匯出

1)定義乙個巨集

#define  _dllclass_dll_

#ifdef _dllclass_dll_

#definedllclass_ext_declspec(dllexport)

#else

#definedllclass_ext_declspec(dllimport)

#endif

2)根據編譯專案,修改_dllclass_dll_巨集宣告

對於匯出類,需要定義_dllclass_dll_,否則不需要定義_dllclass_dll_巨集

3)類的定義為

class dllclass_ext cmath

;7. dllmain函式

是dll檔案入口函式,當程式載入或者釋放動態庫的時候,會自動呼叫這個函式。

dll_process_attach程序載入

dll_thread_attach執行緒載入

dll_process_detach程序解除安裝

dll_thread_attach執行緒解除安裝

Win32學習筆記 WM PAINT

1.wm paint 的產生 wm paint 由於視窗的互相覆蓋等,產生需要繪製的區域,那麼就會產生wm paint訊息。一般情況下通過api宣告需要繪製的區域,來產生wm paint 例如,可以使用invalidaterect宣告乙個需要重新繪製的區域。2.wm paint的注意點 2.1 如果...

Win32程式設計學習筆記

之前也學了點window程式設計,但零零碎碎的,知識體系不完整。現在開始,邊複習邊學新知識。下面都是在vs2010上寫的程式。下面的程式是在視窗中打出字串,並當滑鼠左擊時畫乙個圓。其中有一點要注意的,就是 beginpaint和getdc區別 beginpaint 和endpaint 可以刪除訊息佇...

Win32 動態鏈結庫 二

1.檔案 新建 空專案 include windows.h include stdio.h pragma comment lib,debug xxp dll test.lib extern c declspec dllimport int addfun int a,int b 匯入動態鏈結庫的add...