绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
C++核心准则边译边学-I.26 不同编译器都适用的ABI使用C风格子集
2019-11-22 14:29:46

面向对象思考



I.26: If you want a cross-compiler ABI, use a C-style subset(如果想要不同编译器都能适用的ABI,使用C风格规则子集)

Reason(原因)

Different compilers implement different binary layouts for classes, exception handling, function names, and other implementation details.

不同的编译器会为类,异常处理,函数名和其他实现细节生成不同的二进制结构。

Exception(例外)

Common ABIs are emerging on some platforms freeing you from the more draconian restrictions.

在某些平台上出现的共通ABI可以将你从更加严格的限制中解放出来。

Note(注意)

If you use a single compiler, you can use full C++ in interfaces. That may require recompilation after an upgrade to a new compiler version.

如果使用单一编译器,你可以在接口中使用完全的C++。这样做可能会导致当编译器更新到新版本时,需要重新编译。

译者注:编译器的版本变化也可能影响编译结果的变化。

Enforcement(实施建议)

(Not enforceable) It is difficult to reliably identify where an interface forms part of an ABI.

(无法强制执行)很难可靠地识别哪里的接口定义会成为ABI的一部分。

译者注:ABI(Application Binary Interface):应用程序二进制接口,描述了应用程序和平台之间,或者应用的各个模块之间接口的二进制定义。

译者注:也就无法决定是否需要报警。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

应用开发
创建时间:2020-06-17 15:31:04
应用软件开发是指使用程序语言C#、java、 c++、vb等语言编写,主要是用于商业、生活应用的软件的开发。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~