stdcall

    5熱度

    1回答

    我在學習使用C++進行遊戲製作的過程中遇到過調用約定。 在之前的問題中,有人表示MSDN並沒有很好地解釋_stdcall - 我同意。 調用約定_stdcall的主要目的是什麼?參數放置在堆棧上的順序是否重要?它如何減少X86代碼的大小(正如別人所說)?

    4熱度

    1回答

    我遇到了一些麻煩創建一個COM DLL我的IClassFactory的實現如下所示: include <windows.h> #include <ObjBase.h> #include "AddObj.h" #include "AddObjFactory.h" HRESULT __stdcall CAddFactory::CreateInstance(IUnknown* pUnknown

    2熱度

    1回答

    下面的代碼用mingw 4.7.2和-m64標誌編譯並運行得很好。 但使用-m32或任何mingw 32bit版本,它無法編譯。這是一個錯誤還是我錯過了一個編譯器標誌? #include <iostream> #include <functional> using namespace std; int __cdecl ccall(int i) {

    2熱度

    1回答

    我試圖執行DLL函數__stdcall調用約定使用QtConcurrent::run(),但我得到編譯錯誤。 我已經減少了問題,這個例子代碼: __stdcall void dllFunc() { qDebug() << "test"; } void test() { QtConcurrent::run(dllFunc); } 如果我刪除__stdcall代碼編譯並

    0熱度

    1回答

    準備了這樣的功能,其中一些功能WSA將用作回調: int StartWinSock(int (*WSAStartup)(WORD, LPWSADATA)) { } 但是當其他代碼,我試圖啓動它: StartWinSock(WSAStartup); 我得到一個錯誤: 'WSClient::StartWinSock' : cannot convert parameter 1 from '

    4熱度

    3回答

    我需要編寫調用外部函數的代碼,該函數可以是32位Windows應用程序中的stdcall call或cdecl。 我的代碼,調用者,無法預先知道其中的哪一個。 現在,如果我嘗試從被定義爲stdcall的調用站點調用cdecl函數,那麼我會得到一個checkEsp異常對話框,並且我猜測這是出於很好的原因。 有什麼辦法可以做到嗎?

    3熱度

    3回答

    我一直在使用PInvoke讓我的C#應用​​程序調用我編寫的C++函數。 現在,我一直聽到無處不在,我需要用__stdcall慣例定義那些外部可訪問的函數。我的問題是:爲什麼? 到目前爲止,我不小心忽略了這個建議,而且一切都像魅力一樣。當我將__stdcall添加到我的函數中時,所有內容都以相同的方式工作(或者至少看起來如此)。 This article說__stdcall用於Win32位功能,但

    3熱度

    1回答

    如何在__stdcall函數上使用std :: bind(而不是boost :: bind),或者在當前的實現中甚至可以使用它? 當我試圖編譯下面的例子: std::function<LRESULT __stdcall(int, WPARAM, LPARAM)> func; func = std::bind(&EventListener::myhook, this, std::placehold

    0熱度

    1回答

    我爲我使用的第三方lib創建了一個測試應用程序,它編譯得很好,但似乎沒有打到__stdCall WriteDone。 從示例代碼看起來這個功能 if(cmcd->BuildISOImage(isoName, &CMCDBurner::WriteDone, NULL) == TRUE) { qDebug() << "inside build iso"; } 調用此

    1熱度

    3回答

    有人可以給我一些真實的例子來幫助我瞭解什麼是被叫方,什麼是彙編語言來電?我已經通過了大部分資源,但仍然無法區分被調用者和調用者。 預先感謝您。 (我加入這個解釋 - 再次謝謝遺憾的代碼,我是新來的,不知道如何插入代碼,以便正常顯示!) 我想了解這段代碼 - 學習彙編的基礎知識。我想補充意見,每個命令(我相信別人像我一樣需要它太: sub_401040 proc near .text:00