你说的virtual方法以及fastcall调用约定,对C++Builder编程序有实际影响吗?
链接里说的那个坑是个知识点我早就写过了:
https://www.cnblogs.com/ustone/p/15881655.html关于一个程序运行的各种事件顺序,用输出日志到文件不是就很清楚吗?
【 在 eGust 的大作中提到: 】
: 我说了,vcl 是 delphi 写的,而 delphi 有一堆跟 c++ 不兼容的设计。
: 比如 delphi 的 class method 可以是 virtual 的,同时 constructor/destructor 也可以是 virtual 并且在 vcl 里全都按照这种方式这样实现的。
: 32 delphi 有自己特殊的一套 calling convention,按照 eax、ecx、edx 的顺序压栈(后面俩顺序可能不对,十多年没碰记不清了),而同期其它家的 fastcall 是不用 eax 的。所以当年在 delphi 有3种 abi 的声明方式,win32 api 使用方式的叫 stdcall,此外为了兼容还有 cdecl,而 delphi 自己的 fastcall 跟其它家的都不一样。
: ...................
--
FROM 220.249.128.*