C 學習,總結一

2021-07-04 02:35:21 字數 921 閱讀 6434

接連幾天的陰雨天氣,現在感覺很悶熱,悶熱的讓人難受。不過現在正處於伏天,這樣的天氣也是正常的。

今天學習了什麼新東西呢?來總結一下吧,一是加深一下印象,二是留下一段記憶。

一、dll的匯出方式。這裡只把**貼出來了。

extern __declspec(dllexport) void msgbox(wchar_t *szmsg); 

extern表示該函式以c方式匯出,因為dll,是以c++的方式建立的,字尾為.cpp,如果以c++的方式匯出,編譯後函式名字會被粉碎,導致動態呼叫該函式的時候極為不便。

__declspec(dllexport)的作用是宣告乙個匯出函式,將該函式從本dll中開發提供給其他的模組使用。

二、dll的呼叫方法之一(靜態呼叫)

首先,將編譯好的dll和lib檔案放在呼叫dll的目錄下。

#pragma comment(lib,"dls.lib")

extern "c" void msgbox(wchar_t *szmsg);

其中dls.lib是編譯dll的lib檔案。上面工作完成之後開始呼叫。

msgbox(l"靜態呼叫dll");

三、dll的呼叫方法之二(動態呼叫)

首先,將編譯好的dll和lib檔案放在呼叫dll的目錄下。

typedef void(*pfun) (wchar_t *);

pfun 這個名稱是自己,自定義的。

//載入指定的動態連線庫,並將它對映到當前程序使用位址的空間。

hmodule hmoudle = loadlibrary(l"dls.dll");

pfun pfunmsg = (pfun)getprocaddress(hmoudle, "msgbox");

pfunmsg(l"動態呼叫dll");

C 學習總結一

1.ifstream in a.txt a.for int a in a.流一次讀入乙個字元 b.for string str getline in str 流一次讀入一行 2.char的運算與int可是為一樣 3.char char串 和字串陣列型別不同,但是操作上基本一樣,都表示c 串的啟示位址...

c 學習總結一

詳見 靜態常量與非靜態常量的區別 在建立物件的時候,需要每個成員變數 非靜態 開闢記憶體空間,類變數 靜態變數 則是在類載入的時候就建立好了。用static修飾過的常量會存到常量池裡面。存入的方式是 先到常量池裡面尋找,看是否該常量已經存在,如果存在返回該常量的引用,不存在就在常量池裡面新建乙個常量...

C 模板學習總結(一)

最近公司接到乙個平台專案,平台中涉及到c 11和較多模板方面的 發現同事對c 模板部分的理解幾乎為零,也沒有人了解c 11的語法,所以做了幾次培訓,剛開始在c 11部分的講解尚可,模板部分的培訓效果可以說是一塌糊塗,幾乎沒有人能聽懂我在說什麼,兩次以後參加的人也是寥寥無幾了,事後總結了一下,感覺模板...