- 主题:大一学了C语言,想学学图形用户界面方法
c++ builder 也不是 c 啊,甚至都不是标准的 c++
【 在 shouge111 的大作中提到: 】
: 看到很多推荐qt的,qt能兼容C语言吗?
--
FROM 222.153.175.*
vcl 的话是不可能的了,win 9x 时代的技术,全部基于标准的 windows 控件和 gdi
【 在 roy 的大作中提到: 】
: C++ Builder我没用过
: 但是去年试的Delphi 10.3都还不能原生支持高DPI和自动占半屏
: vcl好像也不能自动计算布局
: ...................
--
FROM 222.153.175.*
qt6 之前的确没问题
【 在 hgoldfish 的大作中提到: 】
: 不要乱说。
: Qt 对个人和商用都是免费的。
--
FROM 222.153.175.*
vcl 是 delphi 原装的,c++ builder 完全就是把 c++ 往 delphi 的封装上凑。除非你自己从来不写任何控件,实际上是不可能的,否则一定会用到特别的语法。
【 在 ooolinux 的大作中提到: 】
: C++Builder编译器扩展了几个关键字,用以从底层支持所见即所得的可视化设计,自己写代码用不到这几个关键字。
: C++Builder6.0支持C++98标准,高版本RAD Studio自带两种编译器:经典编译器(Win32),和支持C++17标准的clang编译器。
--
FROM 222.153.175.*
如今 c 也小众,桌面开发更小众,这俩已经小众到拿不出上得了台面,或者在未来任何情况下能用到的技术
你这纯粹是胡闹,自己不懂还把孩子往坑里带
【 在 shouge111 的大作中提到: 】
: 现在刚学了C语言,想讲C语言的运行结果用界面表现出来,这样比较酷。所以最好兼容C语言。qt和python那个好呢?
--
FROM 222.153.175.*
我明天再问问吧,最近刚好在面 interns,得到的信息美国跟这边都不教语言课,一门课用什么语言完全看老师的喜好
【 在 hgoldfish 的大作中提到: 】
: c/c++ 是现在大学生的基础课啊!!不然你给国内的大学生推荐一个还有哪个语言更适合入门的吗?
--
FROM 222.153.175.*
64位还有 fastcall?
重点就是 vcl 整套就是 delphi 写的,c++ builder 为了兼容搞了一堆东西。说实话如果是要用 vcl 的话,直接写 delphi 就好了,语法又不难。非要写个不伦不类的 c++,很多地方还得非常小心,不然就掉坑里了。
【 在 ooolinux 的大作中提到: 】
: 三方控件是写给别人用,我自己用还真没写过控件,自带的控件对我完全够用,现成的三方控件一大堆我都没用。
: C++Builder就增加了几个有限的关键字,比如对于private,public,protected增加了一个__published,对于函数调用约定增加了一个__fastcall,这是难点吗?
--
FROM 222.153.175.*
qt6 的 license 要么遵守 LGPL,一旦 commercial 就请订阅 license。当年 qt6 发布的时候,hacker news 上讨论的全是 license 的问题,反正我觉得说的挺清楚的。
如果你用了6的话,劝你还是咨询一下法务部门,别回头让你背锅
【 在 hgoldfish 的大作中提到: 】
: qt6 之后也是免费的。不然 KDE 那伙人早就闹起来了。
: qt 的收费针对 LTS 补丁和几个 GPL 模块。反正一般公司商用不用关心 Qt 是不是收费。
--
FROM 222.153.175.*
本来 qt 就是双 license 啊,6不但把 commercial 的授权改成订阅式了,还更加严格了。当时 hacker news 上很多个人开发者都表示用不起了
【 在 hgoldfish 的大作中提到: 】
: 遵守 lgpl 没问题啊。hn 上面的讨论我之前看过,全都是臆测。
: 很简单的事情,如果 qt 的授权问题那么多,各大 linux 发行版还不赶快把 qt 给删了。
: ps: 我们公司买了 qt 的授权。最近 qt 的销售以及各种不懂装懂的都说 qt 不允许商用,这很扯淡。qt 的 lgpl 授权已经很多年了。
: ...................
--
FROM 222.153.175.*
我说了,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 跟其它家的都不一样。
你就用了那么一小点儿,根本不知道有多少坑,随便搜了一个:
https://stackoverflow.com/a/71036705
【 在 ooolinux 的大作中提到: 】
: 不管哪种语言,编程都要小心,尤其是C/C++带指针操作的,跟CB没有关系。
: CB用VCL类库是原生应用,只是增加几个关键字适配VCL,没有一堆东西。
: 是不是说,Python调用C语言的库、C#调用Win32 API都不能用,都不伦不类?
: ...................
--
FROM 222.153.175.*