abi

    1熱度

    1回答

    我使用abi compliance checker來檢查兩個庫的兼容性。 我正在給定的錯誤:使用 preparation, please wait ... ERROR: the input dump d1 is invalid 命令: abi-compliance-checker -l libtest -old ABIv0.dump -new ABIv1.dump

    2熱度

    1回答

    之前發佈了一些類似的問題,但我無法看到我的具體要求的答案。 我有一個編譯到共享庫(.so)的基類。這個庫已經被使用,並且有一些從我的基礎派生的類,並且使用了我的基類的虛函數。 現在我需要修改我的基類以添加一個將在內部使用的新方法(非虛擬)。然後我將重新編譯共享庫。 派生類是否需要重新編譯? 使用派生類和共享庫創建的二進制文件是否需要重新編譯?

    0熱度

    1回答

    首先,對於可能誤導性的標題感到抱歉,但我想不出更好的簡短描述。 對於我的學士論文,我編寫了一個Tango應用程序,出於性能原因需要CUDA。不幸的是,我不是一個有經驗的Android開發人員,所以90%的關於CUDA,JNI或Tango的教程和指南都不夠基本。 從我收集的內容來看,NVCC總是爲armeabi-v7a-hard ABI生成代碼。因此,根據我的理解,我的「正常」C++代碼也必須爲此A

    2熱度

    1回答

    在摘錄自System V ABI的ELF spec中,各種功能被稱爲exec(BA_OS),如1的第7頁。其他功能請參考KE_OS。這些*_OS符號代表什麼意思?

    -1熱度

    1回答

    考慮下面的代碼: #include <string> #include <unordered_map> int main() { std::string s("hello"); std::unordered_map<std::string, int> map; map.emplace(s, 123); return 0; } 此生成細跟: GC

    0熱度

    1回答

    閱讀有關彙編的內容,部分是關於彙編中調用例程的約定(特別是Linux)。 據說第一8浮點參數通過xmm0通過 - xmm15和其他參數在寄存器rdi,rsi,rdx,rcx,r8,r9,和其它剩餘參數應被推動以相反的順序堆疊。 如果我有超過8個浮點參數和超過6個其他參數,按什麼順序推動它們堆棧會怎麼樣?第一個浮點值不適合8 fp。寄存器或其他參數不適合6個寄存器?

    0熱度

    1回答

    爲了介紹我的問題,我有一個應用程序只使用NDK編譯爲「armeabi-v7a」和「x86」ABI。所以彙編給我: Android NDK: WARNING: APP_PLATFORM android-17 is larger than android:minSdkVersion 10 in /home/**********/AndroidManifest.xml [armeabi-v7a] Gd

    10熱度

    2回答

    x86_64 SysV ABI的函數調用約定定義了要在rcx寄存器中傳遞的整數參數#4。另一方面,Linux內核系統調用ABI爲了同樣的目的使用r10。所有其他參數都傳遞到函數和系統調用的相同寄存器中。 這會導致一些奇怪的事情。退房,例如,mmap glibc中實現了X32平臺(針對同一存在差異): 00432ce0 <__mmap>: 432ce0: 49 89 ca mov

    0熱度

    1回答

    是否有可能有一個包含來自兩個ISA的可執行指令的ELF文件。這是一個ELF文件,可以在兩種架構上運行,比如x86和PowerPC。 想到這個的一個例子是幾年前使用的Apple Universal Binaries。有什麼辦法可以在Linux發行版中實現類似的功能嗎?我遇到了旨在做這件事的FatELF項目,但它似乎已經死了

    27熱度

    1回答

    In this document on page。 27它說文本段開始於 0x400000。爲什麼選擇這個特定的地址?有沒有 的原因?相同的地址選擇在GNU ld上Linux: $ ld -verbose | grep -i text-segment PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)