abi

    0热度

    1回答

    我想操纵ARM上的精灵二进制文件在Linux上使用libelf库没有成功。即使是最小的测试用例也会破坏我的二进制文件,我不知道为什么。 这是我最小的测试代码读取ELF文件,然后简单地写回: #include <stdlib.h> #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <libelf.h> #i

    10热度

    2回答

    我们最近因为GCC 5.1, libstdc++ and Dual ABI发现了一个报告。它似乎是Clang is not aware of the GCC inline namespace changes,所以它根据一组名称空间或符号生成代码,而GCC使用另一组名称空间或符号。在链接时,由于缺少符号而出现问题。 如果我正确解析了Dual ABI页面,它看起来像是在_GLIBCXX_USE_CXX

    0热度

    1回答

    假设我已经写了以下内容: enum class Color { Red, Green, Blue, }; template <Color c> Color foo() { return c; } template Color foo<Color::Green>(); 并编译它。当我看到我的编译代码的objdump的,我得到: [[email protected] /tmp]$ objdum

    5热度

    1回答

    我已经下载了一个在GCC中ABI更改之前用gcc 4.8编译的库。 在我的笔记本电脑上(最新的kubuntu)我有GCC 5.2。当我安装了提升,似乎它使用了新的ABI但后来我得到以下链接错误 未定义的符号.....__ cxx11 .... 我如何使用旧的ABI安装升压与GCC5?

    0热度

    2回答

    正如你可能已经猜到的问题是gcc自动保存被调用保存寄存器还是应该自己做?我认为gcc会为我做的,但是当我gcc a.c && objdump -d a.out后写了这个代码 void foo(void) { __asm__ volatile ("mov $123, %rbx"); } void main(void) { foo(); } 我看到这个 00000000

    1热度

    1回答

    我有一些问题: - Linux是一个操作系统或内核(如果两个都如何?) - 是驱动程序是内核的一部分还是只是站在内核和硬件 - 这是什么一个驱动程序做完全(我已经知道,它需要系统调用,并让他们到CPU) - 什么是API和ABI在外行的人的话(短期和简单) 对不起长的问题,但我真的需要提前谢谢

    1热度

    1回答

    Qt库说明了跨主要版本的二进制兼容性。但是,不同编译器之间的兼容性呢? 例如,我有一个应用程序和2倍的DLL使用Qt(动态链接)。但其中一个是用MSVC和另一个用MinGW构建的。因此,它们与不同版本的Qt库(相同版本)相关联。 问题是:这些DLL可以使用一个共享的Qt DLL一起工作吗? 如果没有,那么考虑到更改编译器不是一种选择,哪种解决方法是可能的? 我看了看Qt的DLL文件与Depende

    3热度

    2回答

    通过opaque指针将C++库包装为C是否提供了稳定的ABI接口?我清楚ABI接口以及为什么C++没有稳定的接口。这与名称混搭以及其他许多事情有关。我知道C在那部分非常稳定。与C++相比,将C库封装成各种其他语言也很容易。这两个驱动力为我的图书馆制作一个c API。 将C++库包装到C时,底层代码仍然是C++。我的情况下,它是C + +提升共享PTR和其他依赖。 因此,由于底层代码是C++,因此如

    1热度

    1回答

    NVIDIA CUDA的PTX优化汇编,ptxas,有以下几个选项: --abi-compile <yes|no> (-abi) Enable/Disable the compiling of functions using ABI. Default value: 'yes'. ABI那是什么?当你禁用它会发生什么?它似乎导致更少的寄存器使用,嗯

    3热度

    2回答

    我承认这个问题听起来很一般。但毕竟,从DLL中导出类是一个普遍和困难的话题,并且坦率地说,我目前困惑于一个相当普遍的层面。 简短问题:C++和DLL中的面向对象编程如何配合在一起? 长的问题:阅读this和this后,我有点失望和困惑,因为我不知道如何面向对象编程可以用DLL的工作,如果DLL边界不允许共享对象(假设两个DLL使用了不同的编译器或编译器版本)。对于出口类的选项只有这些(如解释her