dll庫的一些基礎知識

動態調用必須要使用extern "C"的原因:

 

extern   "C"的作用是,使編譯器按照c的方式生成函數名,c的方式實際的函數名和你寫的一樣。如果沒有這個,則按照c++的方式生成函數名,這樣實際的函數名(LoadLibrary方式GetProcAddress傳入的函數名)和你寫得函數名不一樣,這樣你用LoadLibrary、GetProcAddress這種方式調用dll就不成功。  
   
  但是用引入庫的方式調用,則編譯器自動轉換函數名,所以總是沒有問題。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章