c++builder的vcl类库竟然是 delphi 编的呀,总感觉与操作系统隔着一层呀!!

bjwqt 2011-07-16 08:14:14
c++builder的vcl类库竟然是 delphi 编的呀,总感觉与操作系统隔着一层呀!!
-----------------------------------
大家有没有这种感觉呢?
vcl对操作系统的底层c/c++语言,基本做了“语法转包”,这样方便delphi的pascal语言调用。
但是对 c++builder 来说,就是隔着一层了。
...全文
490 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
武稀松 2011-08-25
  • 打赏
  • 举报
回复
编译后都是机器指令.对机器来说没什么几层之分.
对初级程序员来说可能有看不懂Pascal代码,觉得有隔着一层的感觉.
但是一个合格的BCB程序员一定可以看懂Pascal代码.特别是一般BCB高手同时也是Delphi高手.
discoveralan 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 borlandsun 的回复:]
CB: CB调用Delphi写的VCL封装的API = CB(DELPHI(API))
VC: VC调用VC写的MFC封装的API = VC(VC(API))
反正都是两层,我没看出来有哪点惹了楼主了。
楼主: 楼主调用大惊小怪封装的无知 = 楼主(大惊小怪(无知))
[/Quote]

很有意思!~~~
Luisfan 2011-08-22
  • 打赏
  • 举报
回复
隔着的还多着呢
BORLANDSUN 2011-08-22
  • 打赏
  • 举报
回复
CB: CB调用Delphi写的VCL封装的API = CB(DELPHI(API))
VC: VC调用VC写的MFC封装的API = VC(VC(API))
反正都是两层,我没看出来有哪点惹了楼主了。
楼主: 楼主调用大惊小怪封装的无知 = 楼主(大惊小怪(无知))
jone7319 2011-08-07
  • 打赏
  • 举报
回复
微软的.net是自家的东西,你就认因它没有隔着什么吗?.net的效率还要低!
土著巫师 2011-08-01
  • 打赏
  • 举报
回复
搞什么东东,又在乱谈重新开发轮子的问题,无聊的很;没必要,也很浪费。
mjp1234airen4385 2011-08-01
  • 打赏
  • 举报
回复
原则上不表态。
酱油
richardi 2011-08-01
  • 打赏
  • 举报
回复
库是什么语言编的你管它呢,之所有这么干肯定有他们的道理,要是好用C++实现,人家早重写了。反正不耽误你用。
mrzhjy 2011-08-01
  • 打赏
  • 举报
回复
俺也忍不住想说两句,曾经我也想过这个问题,VCL为什么不用C/C++重写一次呢,毕竟那样会在效率上有比较大的改观,同时有一点,程序的大小也会缩减不少,后来看了一篇目文章,忘了叫什么了,很好的说明了这个问题,VCL的确是不如人意,但不得不承认,他封装得很好,大大降低了普通应用的开发周期,尤其在UI上,省时省力。还有一点,就是他的编辑器,真的是很好用,基于这个原因,我做界面程序都有BCB,而做功能有时有VC,如果直接使用API就能完成的功能,我不用VCL,用他的编译器,照样可以写出很小的程序,这些都是工具而已,用好了,就什么都不是问题,问题就是怕你用不好。 BCB6还有VCL的源码,看看他,可以了解VCL的底层是如何运作的,如果你觉得Delphi不爽,可以用C/C++重新封装类,比如TFileStream/TThread...这些类,我就重新封装过,写成在VC/BC下均可无更改编译的类,具有更大的通用性,
ydlchina 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ksrsoft 的回复:]
使用cb,附带delphi看看底层,还不错。
[/Quote]
!!!!!!!!!!!!!!!!!!
cankoo 2011-07-28
  • 打赏
  • 举报
回复
你不认为这种多语言的二进制兼容很酷吗?
hackisle 2011-07-28
  • 打赏
  • 举报
回复
不是说要重写吗..
tompaz 2011-07-28
  • 打赏
  • 举报
回复
所以bcb越来越不行了
还偶尔用6,新版的偶没兴趣试用
tmp_gogoto 2011-07-22
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 fbmsyu 的回复:]

楼主看来不懂。
[/Quote]
你说反了吧,不懂,是问不出这个问题来的。
fbmsyu 2011-07-21
  • 打赏
  • 举报
回复
楼主看来不懂。
Bosman 2011-07-20
  • 打赏
  • 举报
回复
纯属找抽的....
zzhong2 2011-07-20
  • 打赏
  • 举报
回复
还有一个单根继承和多根继承的问题,Delphi的VCL和C#的.net安德森把它们都整成单根继承,但C++支持多根继承,也就是一个类可由多个基类继承而来
fxworld 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bztsgq 的回复:]

不是呀,操作系统,很多地方是c写的呀。
[/Quote]

这种白痴问题别再讨论了,好吧。
bztsgq 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fxworld 的回复:]

你用c++包装api不也是隔着一层吗?

[/Quote]
不是呀,操作系统,很多地方是c写的呀。
fxworld 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 bjwqt 的回复:]
c++builder的vcl类库竟然是 delphi 编的呀,总感觉与操作系统隔着一层呀!!
-----------------------------------
大家有没有这种感觉呢?
vcl对操作系统的底层c/c++语言,基本做了“语法转包”,这样方便delphi的pascal语言调用。
但是对 c++builder 来说,就是隔着一层了。
[/Quote]

你用c++包装api不也是隔着一层吗?
加载更多回复(7)
TeeChart Pro VCL/CLX 是一款图表制作的主流工具,自从1997年以来,它的发展经历了与用户的需求反馈不断交互以及不断创新的过程。TeeChart Pro提供了数以百计的2D、3D图形风格、40种数学统计函数,以及不限数量的坐标轴和22种调色板控件。   产品试用版(for C++ Builder 6)(license:4180099 password:847363625921436):   产品试用版(for Delphi 8)(license:4180099 password:847363625921436):   产品试用版(for Delphi2007)(license:4180099 password:847363625921436):   主要特征如下:   TeeChart Pro提供了数以百计的2D、3D图形风格、40种数学统计函数,以及不限数量的坐标轴和22种调色板控件。   包含所有的源代码(可选择)   拥有TeeChart Pro VCL / CLX 源代码需要支付除正常许可费用之外的额外的费用。源代码支持Windows平台下的(DelphiC++Builder)、.NET平台下的(Delphi8)和Linux平台下的(Kylix/CLX)   TeeChart的图形功能源代码可直接调用Windows GDI(图形设备接口) API   数据存放在动态数组中,而动态数组是直接映射到内存中,这样使得对动态数组的访问和修改速度和计算机处理器一样快。源代码可以最大限度地优化来提高内部处理速度,特别是在重画时。其他的透视输出有OpenGL(3D)、SVG、DirectX等,但是在实时绘制图表的时候,其处理速度没有普通的GDI处理快。   分解成几个模块以便减少执行时占用的空间   一个使用基本风格(线图,条形图,区域图,饼状图,点图),只需要190Kb的执行空间。可以根据每一个模块的特征来对许多模块进行逻辑地分组。程序开发人员可以创建自己的组件包(一组模块),或者根据自己的需要来组装模块。   在程序设计和运行时均易于使用   TeeChart包含强大而全面的针对几乎所有的控件和子控件的辑器对话框。这些辑器在程序设计和运行时均可使用。TeeCommander控件(具有图表类按钮的工具条)提供了对TeeChart辑器的一键访问,打印预览对话框和通用性的特征。   TeeChart是完全基于对象类   几乎所有的东西都是一个对象或是属于一个对象类属性、方法、事件均遵循通用性和一致性风格。从技术层面上来说,TeeChart Pro由161个模块,90个表格屏幕共798个对象类组成。每一个类都有自己的属性,在大部分情况下,这些属性都是一些来自于TeeChart API或Borland's VCL 类库的子类。   强大的帮助文档和程序实例   帮助文档包括有参考向导、用户向导、详细的使用说明手册、终端用户帮助、丰富的程序实例(包含有376个窗体程序所有的源代码)TeeChart帮助文档遵循Borland帮助文档系统的外观风格和原理,并且在程序设计阶段与集成开发平台完全整合在一起。按F1键可以获得所有相关帮助。   支持多种语言包   支持25种语言,经过翻译的对话框和常量在程序设计阶段(如果你重新译包)和程序运行阶段(只需要重新译你的应用程序)均可以使用。一旦你的应用程序译完成,终端用户在程序运行时只需要简单地一个调用,比如西班牙语集(TeeSetSpanish),就可以切换TeeChart 对话框和常量所使用的语言,无需任何外部的文件或者.dll文件。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧