c++ ABI

http://gcc.gnu.org/gcc-3.2/c++-abi.html

http://developers.sun.com/solaris/articles/CC_abi/CC_abi_content.html

 

Introduction

The Application Binary Interface (ABI) of a programming-language implementation is a specification of all the low-level details that allow separately-compiled modules to work together. Without a stable ABI, all parts of a program must be compiled with the same version of the same compiler. That situation creates a maintenance nightmare for distributed projects, and particularly for suppliers of binary libraries. The early rapid evolution of the C++ programming language precluded a stable ABI. The advent of the C++ international standard in 1998 [ISO/IEC 14882:1998 Programming Languages - C++ ] provides a base for a stable C++ ABI, at least for a given C++ implementation. In this paper we explore the stability question for Sun C++ compilers for the Solaris operating environment.

 

ABI是一个编程语言实现的低层细节的规格,以便独立编译的模块间 能够协同工作。如果各个编译器或者同一个编译器的不同版本之间没有一个统一稳定的ABI,则一个程序要能正常工作,它的所有部分 都必须使用同一个版本的编译器进行编译。

 

The C ABI

The Solaris ABI is also the C ABI, because C is the standard Unix implementation language. Among other things, the C ABI specifies:

  • size and layout of predefined types (char, int, float, etc.)
  • layout of compound types (arrays and structs)
  • external (linker-visible) spelling of programmer-defined names
  • machine-code function-calling sequence
  • stack layout
  • register usage.

c语言的ABI包含如下规格:

  • c语言预定义类型(char,int等)的size和layout;
  • 复杂类型(数组和结构)的layout;
  • 自定义名字的外部形式;
  • 。。。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值