abi

    1熱度

    1回答

    在我的項目,我定義:(這不是真正的代碼 - 抽象目的) typedef struct { ... } my_struct; 在我宣佈一些C文件: my_struct my_struct_inst; 而在其他2個C文件,我使用的結構通過聲明: extern my_struct my_struct_inst; 和使用它的內容。 我編譯的代碼RVCT2.2到ARM,並試圖找到該結構的地址

    4熱度

    2回答

    我正在嘗試爲clang編寫一個快速而又髒的demangler。我發現piece of code使用abi::__cxa_demangle,但我不知道它需要哪個標頭。最明顯的選擇是ABI.h但: demangle.cpp:2:10: fatal error: 'ABI.h' file not found #include <ABI.h> ^ 什麼我需要使用abi::__cxa_dem

    13熱度

    2回答

    我在想我應該把我的Android遊戲的Application.mk文件放在哪個體系結構中。 我想支持所有可以在Google Play和其他類型的Android商店下載遊戲的平臺。 我要說的是,我應該設置: APP_ABI := armeabi x86 (as many x86 devices are coming soon as far as I know) 但我不知道如果我不應該設置: AP

    1熱度

    1回答

    MSVC通過Compiler Error 2688禁止的非常特殊的角落案例是admitted by Microsoft是非標準行爲。有誰知道爲什麼MSVC++有這個特定的限制? 事實上,它涉及語義正交(根據第二個鏈接頁面中的描述)同時使用三種語言特徵(「虛擬基類」,「協變返回類型」和「可變參數數量」)並單獨提供完全支持似乎意味着這不是解析或語義問題,而是Microsoft C++ ABI中的一個角

    2熱度

    1回答

    我正在使用MinGW(4.8.0 dw2 posix)編寫C++庫。該庫用於另一個使用另一個編譯器的C++項目(在本例中爲msvc)。 參考this我重新設計了我的C++庫。有兩件事情,我不知道我該怎麼做: 我可以使用命名空間? 我注意到MinGW上的time_t是32位,而msvc中是64位。我能做什麼? 1) 這是否打破了ABI: // Window.h // MYLIB_API defi

    1熱度

    1回答

    我對std::unique_ptr的看法讓我相信,它(和其他智能指針一起)對於項目內部的指針來說絕對是最好的選擇(特別是在Could an optimizing compiler remove all runtime costs from std::unique_ptr?之後),但我還不確定在界面上做什麼。我並不完全理解各種C++ ABI的工作方式,所以如果這是一個愚蠢的問題,請耐心等待,但是可以

    1熱度

    2回答

    我在教導自己/閱讀有關程序集。大多數關於彙編的書籍都是指x86-代碼中的所有寄存器名稱都以「e」開頭,而不是「r」(就像在x86-64中那樣)。但是,我使用64位Linux,並且想知道這些書是否具有任何價值,因爲它們不是指x86-64。 所以總之,真的值得我使用這些資源來學習x86-64。或者,除了寄存器命名規則的不同之外,還有不同的改寫 - 這兩者之間是否存在其他差異,這些差異可能導致x86材料

    17熱度

    2回答

    我相信我理解linux x86-64 ABI如何使用寄存器和堆棧將參數傳遞給函數(參見previous ABI discussion)。我感到困惑的是,如果/函數調用期望保留哪些寄存器。也就是說,哪些寄存器可以保證不被破壞?

    3熱度

    2回答

    我想知道C頭文件和ABI如何相關。各種類型的大小都是體系結構,甚至依賴於編譯器。那麼如何可靠地鏈接到C庫? 對於更具體的問題:使用Haskell的FFI時,甚至只使用像CDouble這樣的Haskell類型來定義(複製C庫接口的定義)。我不知道二進制大小信息來自哪裏。連接工作有什麼竅門?

    9熱度

    1回答

    當C++標準化委員會對STL的修改進行調查時,我們非常重視不引入ABI重大變更。 是什麼導致了ABI的破壞,以及在C++中沒有引入ABI破解? ((鏈接到歡迎的課程或文件)