這六個函數之間有什麼不同?什麼是winapi函數聲明約定?
LoadLibrary
LoadLibraryA
LoadLibraryEx
LoadLibraryExA
LoadLibraryExW
LoadLibraryW
winapi中每個後綴的含義是什麼?所有這些函數之間有什麼區別?
這六個函數之間有什麼不同?什麼是winapi函數聲明約定?
LoadLibrary
LoadLibraryA
LoadLibraryEx
LoadLibraryExA
LoadLibraryExW
LoadLibraryW
winapi中每個後綴的含義是什麼?所有這些函數之間有什麼區別?
LoadLibrary
和LoadLibraryEx
是其取決於是否你的項目支持Unicode編譯定義的宏。如果是,他們指向LoadLibraryW
和LoadLibraryExW
,否則他們指向LoadLibraryA
和LoadLibraryExA
。
通常情況下,您需要使用沒有A或W的版本編寫代碼,並讓編譯器定義爲您提供所有的魔力。
Ex
後綴是表示「擴展」功能的標準方式:與常規版本類似,但提供了附加功能。通常,它們被添加到更新版本的Windows中,並且可能並不總是可用(儘管它們中的大多數都已經很舊了,現在它們已被添加到Windows 3.1或95中)。
如前所述,函數之間的確切區別應始終在MSDN上進行檢查。
A
表示ANSI; W
意味着寬(Unicode)。
A
版本不支持Unicode字符串;他們是來自Win9X的遺物。
根據是否定義符號UNICODE
,無後綴版本將在編譯時擴展到A
或W
版本。
Ex
版本是具有附加功能的API方法的更新版本;請參閱文檔以獲取更多細節。
A - ANSI W - unicode的 防爆 - 相同功能的擴展版本,例如一些額外的參數