stdcall

    2熱度

    2回答

    我有一個.dll我懷疑使用__stdcall函數,但完全未裝飾的名稱(甚至沒有下劃線或@符號)。我寫了一個.def文件它的別名一樣 func1 = func1 [email protected] = func1 但我認爲lib(這我使用創建一個從.def文件導入庫)被忽略別名(鏈接器還稱[email protected]是不確定的) 如何創建將[email protected]映射到func

    2熱度

    2回答

    此問題源於此one。 問題是:創建非可視組件,它可以容納來自系統的許多回調命令。 用戶可以在IDE中定義無限數量的回調。回調將在TCollection中定義爲TCollectionItem。 這是一種很不錯的模式,但有一些缺點。 (後述) 所以我想,如果這是可以做到更好;-) 這是一個主要組成部分,用戶可以在IDE無限數量的回調函數,通過CommandsTable集合定義 TMainComp =

    2熱度

    1回答

    我一直在閱讀32位調用約定的差異。 fastcall與stdcall即是。 從我讀到的這兩個約定有很大的混淆,並且64位被標準化以避免這種混淆。 我不得不問,爲什麼選擇fastcall? 此外,由於fastcall和stdcall是win32術語,函數調用的UNIX術語是否使用寄存器來傳遞參數?

    9熱度

    1回答

    我正在使用GCC處理自己的內核,當從asm代碼調用C函數時,我必須自己做add esp,xx。經過一番搜索後,我發現stdcall是微軟的發明,不能在GCC中使用它。有沒有方便的方法來完成這項工作?

    0熱度

    1回答

    我需要創建一個C++ dll,它將通過stdcall從另一個程序中調用。 什麼是需要的:調用者程序將傳遞一個字符串數組到dll和DLL應該改變數組中的字符串值。調用者程序將繼續使用來自dll的這些字符串值。 我做了一個簡單的測試項目中,我明顯失去了一些東西...... 這裏是我的測試C++ DLL: #ifndef _DLL_H_ #define _DLL_H_ #include <stri

    2熱度

    1回答

    我有一個指向COM接口的指針,並希望從其虛擬表中取出函數指針並進行方法調用。爲此,我需要進行stdcall方法調用。在Go中,如何使用convention stdcall撥打電話,或者使用cgo中的常規stdcall撥打電話?

    0熱度

    2回答

    我正在編譯一個需要使用portaudio的DLL。它使用各種類型的套接字窗口庫,但鏈接器無法識別portaudio庫。然後我記得portaudio使用__cdcel而不是__stdcall。通常,我只是使用__cdcel並完成它,但是我正在編譯的DLL需要使用__stdcall,因爲我將在Visual Basic中使用它。 而且,如果這個項目聽起來有點像你這樣的混亂,那就是。

    1熱度

    1回答

    在MFC VC++,setTimer功能使用CALLBACK過程設置。從link我讀 標有__stdcall函數使用標準調用約定 如此命名,是因爲所有的Win32 API函數(除了拿可變參數的幾個 )使用它。 從這裏我就明白了,所有的VC++ MFC函數都使用__stdcall作爲調用轉換。 而且CALLBACK定義如下.... #define CALLBACK __stdcall 我已閱讀:

    1熱度

    2回答

    我試圖創建一個地圖使用__stdcall函數名和函數指針的。這裏是我目前得到我的函數指針: typedef int (CALLBACK* InitializeDLL)(int,int); InitializeDLL initializeDLL = (InitializeDLL)GetProcAddress(hInstanceLibrary, "InitializeDLL"); ,現在我的地圖

    0熱度

    1回答

    在我的項目中,使用__stdcall是至關重要的。不過,我得到這個: 1> ExchangeParser.obj:錯誤LNK2001:無法解析的外部符號「市民:靜態無效__cdecl xercesc_3_0 ::了XmlString ::版本(無符號短*,類xercesc_3_0的MemoryManager :: * const的)「(?release @ XMLString @ xercesc_