zoukankan      html  css  js  c++  java
  • 理解ABI

    An application binary interface (ABI) describes the low-level interface between a computer program and the operating system or another program.

    An embedded-application binary interface (EABI) specifies standard conventions for file formats, data types, register usage, stack frame organization, and function parameter passing of an embedded software program.

    ABI包含的信息包含:

    • 数据类型的size, layout和对齐等;
    • 调用约定(),
    • 应用程序调用system call的方式
    • 如果是完成的操作系统ABI,还要包括object 文件的二进制格式、程序library等

    几种常见的EABI包括PowerPC, ARM EABI2,MIPS EABI。

    其他几个相关的信息包括:

    • 现在很多编译器支持交叉编译,也就是在windows上编译Linux上运行的程序,在编译时就必须明确制定使用什么样的ABI,比如GCC编译器在ARM上支持的ABI有:`apcs-gnu', `atpcs', `aapcs', `aapcs-linux' and `iwmmxt',GCC在i386,x86-64上支持的ABI有:'sysv’ 和 'ms’
      • `sysv' for the ABI used on GNU/Linux and other systems, and `ms' for the Microsoft ABI. The default is to use the Microsoft ABI when targeting Microsoft Windows and the SysV ABI on all other systems.

    一位仁兄总结的PowerPC上EABI的相关信息:http://blog.sina.com.cn/s/blog_70dd16910100ypf2.html

  • 相关阅读:
    Pytorch笔记
    Anaconda使用
    最大流最小割算法
    pycallgraph--使用pycallgraph绘制Python函数调用关系图
    论文表格--三线表
    0514数据结构--递归、排序和查找
    0511操作系统
    0510操作系统
    ACWING算法提高课-动态规划
    删括号
  • 原文地址:https://www.cnblogs.com/whyandinside/p/2893197.html
Copyright © 2011-2022 走看看