我的主要经验是使用C && C++,所以我更愿意和他们在一起.我不想使用像QT,GTK或wxWidgets或任何工具包那样的东西.我想学习本土编程,这种目的无法实现.考虑到这一点,我也想避免使用Java.
我理解gnome和xfce以及KDE等都是Linux的桌面环境,安装的基础通常是X(Xorg).在为Linux编码时,您是为X编码还是为桌面环境编写代码?对于Linux,是否有一个标准的Linux头文件(如win32有windows.h)?或者是每种桌面环境的不同编码方法?
任何帮助是极大的赞赏.
X是一个可编程的可怕层,尽管你打算避免使用Java,QT或任何优秀的UI抽象层,但你将通过编码到那个级别来做自己的伤害.我已经完成了(很久以前当Motif在我们使用的平台上处于起步阶段时)如果有一个更简单的方法,我不会再这样做了.
你对"本地编程"这个短语的使用让我感到困惑.如果您想学习本机编程,那就是您选择调用的API.使用类似的推理,你不应该用C编码,而是选择汇编程序(或直接机器代码),因为C提供了对硬件的抽象.
如果你想学习X编程,那很好.您最终会对您的界面有更多的控制权,但几乎所有其他人在软件交付方面都会超出您的表现.我自己,我更愿意编写一个更高级别的API,我可以在许多平台上使用它 - 它给了我更快的交付时间和更多的市场潜力.
你不是用原子建造房子,而是用砖砌成.我的建议是使用工具,这就是他们的用途.
我不想使用像QT,GTK或wxWidgets或任何工具包那样的东西.我想学习本土编程,这种目的无法实现.
不,你没有.回到X11的早期版本,比如R1或R2,我在Xlib中编写了一个完整的"Hello,world"程序.
大约700行C.
你不想去那里.
我猜你可以直接针对Xlib编写C代码,但是你最终会重新创建GTK +或QT提供的X并不是唯一的功能.
Unix(以及扩展,Linux)实际上并没有定义与GUI有关的任何内容.通常使用的X没有定义任何与小部件或样式或任何性质有关的东西 - 它主要关注绘图基元和事件处理.基本上,如果你想用纯X编写,你将定义屏幕上每个元素的形状和行为.如果你疯狂到放弃X,你就会在图形帧缓冲级别上工作......
你最好使用一些工具包 - 如果你正在寻找轻量级,为什么不尝试FLTK?