主题:庆祝Python跃居世界第四程序语言 -- 空格
共:💬100 🌺284
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七层协议。
- 相关回复 上下关系8
压缩 3 层
🙂讨论一个特性的得失应当看它的机会收益 7 gcc296 字1570 2011-03-07 18:42:20
🙂你的思路在你的帖子里前后并不统一 1 老石头 字317 2011-03-12 01:41:47
🙂c++真是个大酱缸,引入太多特性,太臃肿了 博客南 字0 2011-03-07 21:32:25
🙂C++ ABI不兼容确实是个大问题,但是不光是重载引起的
🙂我非常赞同你对C++标准委员会的看法 1 gcc296 字275 2011-03-08 08:01:37
🙂内存布局不规定现在看来 透明 字73 2011-03-07 23:57:45
🙂同意,c++标准委员会运作模式与社区模式区别太大 博客南 字0 2011-03-07 21:33:00
🙂这句要花 空格 字81 2011-03-06 22:21:11