易截截图软件、单文件、免安装、纯绿色、仅160KB

再谈Delphi vs VC++(非常精彩) (转)

偶然来找一个文件,却发现这里关于vc++和Delphi的讨论很是激烈。看了大家写的一些
文章,觉得有些看法正确,有些就很偏颇甚至错误(也许无知?很抱歉我这样说:-)。我
无意与任何人争论,更愿意把这看成是技术上的讨论。应该本着公正,不带偏见的态度
(这并不意味着非要平分秋色,一切应以事实为准)。我用过除tp1以外的所有版本的
turbo pascal,所有版本的turbo c/borland c++,所有版本的delphi和c++ builder;
以及msc 5.0/6.0,msc/c++ 7.0和visual c++ 4.2/5.0。不敢说有多高的水平,至少也
算有一点经验吧。下面就谈一下我的看法。
1. 编译器
应该说borland的编译器是最好的。因为borland有全世界最好的编译器开发组(虽然
anders hejlsberg离开了)。从技术上来讲,borland领先任何竞争对手至少2~3年。一
般来说,borland的编译器总是能生成更小的代码并且通常(并不是在任何情况下)更快
的代码。
紫云英、曾登高在文章中说vc++编译的程序小,这其实是使用了动态连接的结果。m$把
vc++的运行库(msvcrt*.dll, msvcp*.dll, mfc*.dll, 你看看这些文件加在一起有多大)
在安装windows时就放在了system/system32目录中了。两位说“协商接口”的问题,恐
怕是对某些英文文章的理解错误。m$就是不愿意在windows中带上其他公司的运行文件,
没有技术上的原因。
其实delphi/c++ builder不论在动态连接或静态连接的情况下,生成的程序都要比
vc++的小。比如mdi的例子程序:在delphi/c++ builder中选new ... | projects |
mdi application,在vc++中用mdi app wizard;生成的程序功能是非常类似的。
下面是比较结果:
(delphi打开优化,c++ builder使用最大速度优化,vc++ 5使用最小代码优化)
  delphi 3  delphi 5  c++ builder 5  vc++ 5
dynamic link  21k  35k  44k  70k
static link  253k  398k  467k  490k
凡是使用了应用类库的程序(不管是mfc,owl,vcl以及新的clx框架)都要比不使用的大
不少。这是因为目前的智能连接(smart link)技术还只能针对全局变量/过程,而不能
用于对象结构。哪怕你只使用了某个类(或被这个类间接引用)的一个属性或方法,这个
类以及它所引用的所有类都全部被连接到exe中。目前所有的编译器都没有解决这个问
题。
(ps: 其实能生成最小代码(真编译)的高级语言编译器是turbo pascal,不信你写程序
比较一下:
program


相关文档:

在学习C后是否还要学习C++?


作者:王姗姗,华清远见嵌入式学院讲师。
在嵌入式开发中,作为底层开发者,更看重的是C语言的编程能力,但作为应用程序的开发者,我想学习C++还是有必要的。你只有在了解了C++的特性,从本质上看到它与C的区别才能坚定你认识学习它的决心。我不是专家,但是从我学习的历程上来看,学习C++还是有需要的,不论你做QT ......

C\C++相关问题整理(1)

随机生成整数,然后算出正负零
void getrand(int *a, int m)
{
    int i;
    srand(time(NULL));
    for (i=0; i<m; i++)
    {
        a = rand()-rand();
    }
}
int main(int argc, char* argv[])
{
    ......

区别java的 C++内存分配 知识,全局,局部,静态变量


预备知识—程序的内存分配 
一个由C/C++编译的程序占用的内存分为以下几个部分 
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 ......

C/C++头文件一览

C及传统C++
#include <assert.h>    //设定插入点
#include <ctype.h>     //字符处理
#include <errno.h>     //定义错误码
#include <float.h>     //浮点数处理
#include <fstream.h>    //文件输入/输出
#include <iomanip.h>    //参数化输入/输出 ......

【转】【C\C++语言入门篇】 深入函数

前面一篇我们介绍了结构体,这篇终于能够介绍函数了。为什么这么说呢?因为函数非常重要。就这么简单。嘿嘿!之所以在这时才讲函数,是因为本篇将联系到前面的每一篇,这样函数才能体现的透彻。那我们就迫不及待的切入正题。
从第一篇Helloworld开始到现在,就没有脱离函数。那就是我们的main函数。main函数也是一个普通的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号