我只是想知道我是否可以使用 C(再次强调,不是 C++)为 Ubuntu 编写 GUI 应用程序。只是我讨厌完全学习一门新语言(我知道它们在某些方面很相似,但仍然如此)。只是想知道,提前谢谢。
答案1
你可以用任何语言为 Ubuntu 开发应用程序。如果你需要你的应用程序使用特定的库,那么正如 mdpc 所说这是唯一可能造成限制的事情。有些库只能在某些语言中使用。
但 Ubuntu 应用程序可以用 C 语言开发,并且很多 Ubuntu 软件是用 C 编写,包括几乎每个 Ubuntu 系统中默认安装的许多程序和库。
Ubuntu 中默认安装的程序或其他非常流行的用 C 编写的程序包括:bash
,布拉塞罗,dash
,磁盘, 大多数文档查看器,共情,进化, 这侏儒之眼图片查看器(源码), 这锉刀滚筒档案管理员,GCalc工具,GIMP,GNOME 终端,光子发射, 这鹦鹉螺文件浏览器,皮钦语(一些插件除外),节奏盒,海马(源码),图腾,暴发户, 和组织。
是的,你绝对可以用 C 语言为 Ubuntu 进行开发。许多人都这么做。
话虽如此,Ubuntu SDK用途Qt。Qt 绑定了许多语言,但是不是C。因此,您可能无法使用 Ubuntu SDK 创建程序,方法是编码独自在 C 语言中。(你仍然可以经常编写代码最多用 C 语言编写的软件。
这可能会使仅使用 C 编写移动应用程序(针对 Ubuntu Touch)变得困难。但是没有必要使用用于桌面应用程序的 Ubuntu SDK。许多为 Ubuntu 打包并在 Ubuntu 中运行良好的桌面应用程序(上面列出的 4 个应用程序除外)都不使用 Ubuntu SDK。
此外,使用 Ubuntu SDK 可能不是创建便携的除了 Ubuntu 之外,其他桌面操作系统上运行良好的应用程序。Ubuntu SDK 适用于多种用途,但即使它支持用 C 编写应用程序,您仍然可能不会在各种情况下使用它。
用 C 编写 GUI 应用程序的一种流行方法是使用GTK+. 还有其他带有 C 绑定的 GUI 工具包替代品,包括插件(通过韋克),大学物理学院,并且可能混乱(GObject 可以通过 C 语言访问,但有时需要为其对象模型编写代码——或者任何对象模型——在 C 语言中很难)。