我看到C gui库非常少。最突出的是GTK和类似的。我没有看到任何突出的C项目与GUI。对于GUI,C不是首选。我看到像C ++,Java和Python这样的编程语言,有更多的GUI库,而且更丰富。所以我要问的是,为什么C没有像其他人一样的盈余。是因为没有面向对象吗?主要是我看到C在控制台模式中使用。即使在某些系统编程中,除了它的C ++或其他用于GUI编程之外。是否应该停止在C中进行GUI设计并使用其他语言?我希望详细了解这一点。
答案 0 :(得分:6)
我会说Windows API,因为那是我熟悉的,但我怀疑其他的是相同的。 Windows API是纯C!不需要“库”来包装它,你可以直接编程。
GUI组件构成了一个良好的对象层次结构,因此将它们打包在C ++包装器中以使它们更易于使用是很流行的,但这并不是绝对必要的。
答案 1 :(得分:4)
大多数GUI库使用对象(窗口,按钮,小部件,框架等)和属性等。这很难在C语言中模拟,而在C ++,Delphi,C#等OO语言中则更容易。请注意,这些框架使用的底层API通常是C,但使用起来比框架更难。
答案 2 :(得分:2)
由于C本身不支持任何类型的GUI调用,因此您将需要 依赖系统提供的库(例如Windows API或 Mac Toolbox(OS X之前))或第三方(GTK,QT)。
基于我做过的极少数次,我会说C绝对是 用于编写GUI的错误工具。取决于库,它可以来自 只是单调乏味的彻头彻尾的折磨。你有内存管理问题 wazoo,时髦的数据结构,相当复杂的指针表达式 (类似(( * foo) - > bar)并不罕见)。你必须加强 你对一个“小”程序的定义是一个数量级。
答案 3 :(得分:2)
C不包含gui库,但C ++也不包含。
大多数GUI库都是用C ++编写的,因为它们始于80年代中后期,几乎与OOP开始流行的时间相同。如果你要发明一种新的用户界面范例,你也可以使用新的编程范例 - 越多越好的话语。
OOP和GUI之间有一些自然的契合,但你可以用纯C编写GUI。
答案 4 :(得分:0)
C是一种语言,它可以通过操作系统为其GUI界面提供API。