ABI 参考结束于链接错误“未定义符号”与 clang ,但 GCC 可以链接吗?
我希望将一个库集成到我的 iphone 项目中。库源提供了一个使用 LLVM-GCC 构建 .a 的 makefile。我使用 clang 来构建我的应用程序。 当我在 xcode 下构…
是否可以在 Mac OS X 上仅使用 GNU 汇编器生成纯二进制文件?
我为 x86 编写了一些汇编代码,并希望仅使用 Mac 的默认汇编程序(“as”)将其汇编成纯二进制文件(不是 Mach-O)。经过几次谷歌搜索和尝试,我失败…
Gcc x64 函数调用
据我所知,x64 代码有两种可能的调用约定 - Microsoft x64 和 AMD64。 现在,可以使用 -mregparm=0 参数启动 gcc,但如果我们使用 AMD64 调用约定,则…
构建现代 (4.x) GCC 以在与主机相同的架构上运行 2.4.x 内核?
问题相对简单:如何在与编译器主机相同的架构上构建 4.x 系列的 GCC(以及 binutils 和朋友),以 2.4 ABI 为目标? 主机系统将是 x86 或 x86_64,唯…
glibc:elf 文件操作系统 ABI 无效
下载并编译glibc-2.13。当我尝试运行一个执行 malloc() 的示例 C 程序时。我收到以下错误 elf 文件操作系统 ABI 无效 任何人都可以传递我的任何有助于…
64 位系统的整数大小差异(与我的旧 32 位电脑系统混淆)
几个月前,我给自己买了一台带有 cpu intel i7-2630qm 和 64 位 Windows 的笔记本电脑。在这个系统下练习我的编程技能时,我遇到了整数大小方面的一些…
接口(抽象类)与其他虚拟更改的 ABI 兼容性
即使在派生类中进行了涉及虚拟的其他更改,类视图的 ABI 是否仍保持稳定? 也就是说,假设我有一个接口InterfaceA(具有许多纯虚函数的抽象类)和一个…
如果我用“goto”跳出 catch 块,我是否能保证异常对象将被释放?
我有如下代码 try { doSomething(); } catch(InterruptException) { goto rewind_code; } if(0) { rewind_code: longjmp(savepoint, 1); } 我的问题是…
C++和二进制兼容性:按值返回 POD 结构
考虑以下 C++ 代码: struct X { int a; int b; }; X foobar() { X x = { 1, 2 }; return x; } 现在假设此代码放入共享库中,由第三方应用程序使用。 …
i386 与 AMD64 ABI 差异
在哪里可以找到 i386 和 i386 之间数据类型的所有差异。 AMD64 应用程序二进制接口 (ABI) ? 我知道 i386 ABI 中的 long 类型是 32 位的AMD64 中的 64…
使用 MonoTouch 创建自定义 UITextField 并覆盖方法
我创建了一个带有如下背景图像的 UITextField : _tf = new CustomTextField(new RectangleF(0,0 200, 200)); _tf.BorderStyle = UITextBorderStyle.N…
vararg 函数如何找出机器代码中的参数数量?
像 printf 这样的可变参数函数如何找出它们获得的参数数量? 参数的数量显然不会作为(隐藏)参数传递(请参阅 在此处的 asm 示例中调用 printf)。 …
可变参数在 mips 中工作
根据 mips abi,调用者将前几个参数放入 GPR 中以提高性能,并且不要将这些参数推送到堆栈帧中。 但是当我使用 varargs api(stdarg.h) 定义带有可…