西西河

主题:庆祝Python跃居世界第四程序语言 -- 空格

共:💬100 🌺284
全看分页树展 · 主题 跟帖
家园 C++ ABI不兼容确实是个大问题,但是不光是重载引起的

C++ 每引入一个新概念,ABI就要改一次。不光是重载,还有exception, RTTI等等,都需要修改ABI才能支持。所以用c++最好不要编译成动态链接库的形式,要么用静态链接,要么用extern "C", 只提供C语言风格的入口。

C语言相对简单,其ABI的升级已经基本完成,除非重大升级比如libc.so.5到libc.so.6; 不像c++, g++4.1和g++4.2编译出来的.so都不能混用。

C++混到现在这个尴尬的地位,和高高在上的C++标准委员会有极大的关系。这帮人一是行动缓慢,二是沉迷于语法细节,以繁琐为乐。我怀疑这个委员会是不是欧洲人占主体所以才这样。美国人采用的是实用主义哲学,以简单好用为追求,比如C, 比如TCP/IP; 欧洲人以精确严谨为追求,不在乎用户接不接受,比如C++,比如ISO-OSI七层协议。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河