我想用 C 语言开发一个有操作界面的程序,就像一些通用 exe 程序一样,网上有没有好的资料示例可学习?
就跟普通的 PC 程序一样,能够安装在电脑上,上面有一些操作按钮、输入框等等
就跟普通的 PC 程序一样,能够安装在电脑上,上面有一些操作按钮、输入框等等
另外 python 有好几个简单的 GUI 库,应该都会比 C 好用一些。
要弄可以试一下 swift,和 c 对接功能超容易,接口都不用写。
所以上面几位提到的关于 Windows 的书籍很值得看, 配合官方文档基本上就够了.
还有就是目前 windows 开发建议使用 C++而不是 C(上面提到的 MFC 是对 Win32Api 的 C++封装),因为 Visual Studio 实质上只支持 C++,当然 C 也被兼容,不过用 C 会遇到各种各样的问题.
当好处也显而易见,非常简单轻便,而且精确操作控件的 API 很多.
如果问 C 能不能做 UI,应该是能做。如果问 C 做 UI 是不是最佳选择(之一),我认为不是。
registerclass
createwindow
然后每一个控键都要 createwindow
还需要一个 message 循环
基本上就可以了
gtk 以及 gimp,能做出来并在主流平台上都能运行,简直是奇迹。
不晓得今天有多少人还能动的了 gimp 的逻辑。
当然也可以用 win32api 自己撸界面,就是特别麻烦
还有一些奇葩手段,比如嵌入 tcl/tk, python 自带的 tkinter 估计是这种操作
http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15612-s97/class/wallace/project/src/et/doc/ET.html#H0002
https://i.loli.net/2021/01/21/VxOFlgKPIuXcneD.png
C 确实是做 UI 的最佳选择之一。UI 分为很多页面。 细分领域
1. 网页
2. Window 平台
3. Linux 平台
4. Mac 平台
5. 安卓平台
6. IOS 平台
7. 可穿戴设备(手环,手表,智能眼镜)
8. 智能家居设备(例如 冰箱,空调,还有洗衣机)
C 语言可能在其他领域里面没有写的快。 但是 C 是唯一一个覆盖所有领域的 UI 界面。
并且 C 是唯一一个在所有领域中能保证你程序运行高效的语言,无天花板( PS:天花板取决于你的技术能力)
———–
如果只是说做 UI,你随便举个语言看能不能做到以下几点 。 居然说 C 不是做 UI 的最佳选择之一,我认为如果真的是为了做 UI,那么 C 才是最佳的选择之一。
然后 UI 分两类吧,你要是想用其他人写好的绘制的控件,目前我看到的勉勉强强能跨平台的,就是 gtk 。像上说的用 api 撸,比如说 win32 api 或者 x server 的,可以是可以,没必要。其他的库,不跨平台的,我也没看到有啥更好的选择。
如果是打算搞自绘 UI,那可以用 SDL2 或者类似的 SDK 。比如说就用 SDL2,或者用 glfw+opengl 。这也是一条路。但是就是看起来不是那么 native 。
如果你打算写写 c++,或者写写 c 风格的 c++,那选择就多了,无论是 MFC 还是 Qt 还是 wx 还是什么其他的,做界面都好说。
如果只是小工具不复杂,那么基本上就是 GTK , 安卓和 ios 平台也是差不多的做法。
HTML 网页在布局上面有很大优势。
之前想尝试用 go,就很难受。
https://developer.microsoft.com/zh-cn/windows/get-started-windows-10/
windows api 本身就是 c 接口的