c语言ui系统,操作系统(如WindowsMFC)是如何实现UI的?

这是一个古老的问题, 学习GUI编程的同学都曾经想过这个问题.

首先, Windows某种意义上可以说是用C语言开发的. 早期开发Windows的最基本工具, 应该是win32api, 深入windows编程你就应该至少看一看win32api, 基本上都是C风格的东西.

MFC是win32api的一个包装, 在当年编译器大战的时候还有OWL之类的东西, 后来微软自己还出过WTL这样的东西, 具体可以google.

你的问题里面还问到了Windows/Linux是如何实现界面的, win32api里有GDI这样的东西, 实现的就是非3D加速的图形API, 大约等于Linux里面的GTK. 如果windows里需要3D加速的话, 你使用的API将超出win32api的范畴, 进入到directX, 通常是d3d. Linux里面GTK下面还有一层, 就是X11, 开始直接和硬件(显卡)对话了.

早期的话开发windows用C是完全没有问题的. 后来windows引入了COM技术, C语言就不给力了需要用到C++. 后来一切都dotNET化了, 继续使用C和C++开发windows程序就变成自虐了: 比如GDI变成了GDI+, 那么开发windows就自然而然的是C#的工作了. 最后windows不是唯一的平台了, 大家的选择就多了: Mac, iOS, Android ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值