易截截图软件、单文件、免安装、纯绿色、仅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++语言入门篇】 深入函数

前面一篇我们介绍了结构体,这篇终于能够介绍函数了。为什么这么说呢?因为函数非常重要。就这么简单。嘿嘿!之所以在这时才讲函数,是因为本篇将联系到前面的每一篇,这样函数才能体现的透彻。那我们就迫不及待的切入正题。
从第一篇Helloworld开始到现在,就没有脱离函数。那就是我们的main函数。main函数也是一个普通的 ......

C++接口与实现分离的2种方法 (C/C++)

方法一:使用另一个实现类分装类的私有成员和函数,这种方法称为Pimpl方法。
test.h
#pragma once
#include "shared_ptr.hpp"
class CTest
{
public:
    CTest(void);
    ~CTest(void);
    void DoSomething();
private:
& ......

【转】【C\C++语言入门篇】 数组与指针

前面两篇基本把指针给介绍完了,相信大家对指针已经不是那么陌生了。也不会因为指针和数组之间的关系而导致混淆了。大家可能也迫不及待想了解下后来的知识。今天我们就介绍下结构体。
对于结构体,既然叫结构体,形象上我们可以理解其就是一堆数据集合在一起形成一个结构。就比如一个学生的信息包括:学号、姓名、班级、年 ......

【转】【C\C++语言入门篇】 HelloWorld思考

第一篇文章终于落笔了,本文将从思考的角度去重新认识一下Helloworld。在例子之后会提出不同的问题,引导大家去思考每一句乃至每个细节。同时希望能够让大家以后能够以不断思考不断提问的方式去看待自己的程序。我相信大家会发现很多新的东西,好了切入正题。
我们每学一种新的语言基本都会从helloworld开始,基本每种语言 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号