在 Linux 上学习 C 编程的 5 种方法

下载我们的新电子书,获取在 Linux 和 FreeDOS 上进行 C 编程的技巧和窍门。
6 位读者喜欢这篇文章。
Person using a laptop

关于 C 编程语言为何能经久不衰,有很多种说法。也许是因为其语法的朴素,或者词汇的简洁。又或者是因为 C 通常被视为一种实用的语言,一种坚固耐用,随时可以作为构建材料的语言,用于构建不需要平台的东西,因为它本身就是基础。C 显然是一种强大的语言,我认为它的持久性在某种程度上与它作为其他流行技术跳板的方式有关。以下是我最喜欢的五种利用和依赖 C 的技术,以及它们如何帮助您更多地了解 C 本身。

[ 下载电子书: C 编程技巧和窍门指南 ]

1. GObject 和 GTK

C 不是一种面向对象的编程语言。它没有 class 类型。有些人使用 C++ 进行面向对象编程,但另一些人则坚持使用 C 以及 GObject 库。GObject 子系统为 C 提供了一个 class 结构,而 GTK 项目则以提供可通过 C 访问的小部件而闻名。(如果没有 GTK,就不会有 GIMP(GTK 为其开发)、GNOME 以及数百个其他流行的开源应用程序。)

了解更多

GObject 和 GTK 是开始使用 C 进行 GUI 编程的绝佳方式。它们设备齐全,可以帮助您使用 C 编程图形应用程序,因为它们为您完成了大量的“繁重工作”。类和数据类型已定义,小部件已制作完成,您所要做的就是将所有内容放在一起。

2. Ncurses

如果 GTK 超出了您的需求,您可能会觉得终端用户界面 (TUI) 更适合您的速度。ncurses 库在终端中创建“小部件”,创建一种图形应用程序,在您的终端窗口上绘制。您可以使用箭头键控制界面,选择按钮和元素,就像您可能在不使用鼠标的情况下使用 GUI 应用程序一样。

了解更多

通过使用 ncurses 库作为显示,编写一个 用 C 语言编写的猜数字游戏 来开始。

3. Lua 和 Moonscript

Lua 是一种脚本语言,可以通过内置的 C API 访问 C 库。它是一种小型、快速且简单的语言,大约有 30 个函数和少量内置库。您可以开始使用 Lua 进行系统自动化、游戏模组和脚本编写、使用 LÖVE 等前端进行游戏开发,或者使用 GTK 进行通用应用程序开发(例如 Howl 文本编辑器)。

了解更多

Lua 的好处在于,您可以从它开始学习编程的基本概念,然后在您觉得有足够的勇气直接与基础语言接口时,开始探索其 C API。另一方面,如果您永远无法超越 Lua,那也没关系。Lua 有大量的 额外的库,使其成为各种开发的绝佳选择。

4. Cython

Lua 不是唯一与 C 接口的语言。Cython 是一种编译器和语言,旨在使为 Python 编写 C 扩展就像编写 Python 代码一样容易。从本质上讲,您可以编写 Python,最终得到 C。最简单的例子

print("hello world")

创建一个 setup.py 脚本

from setuptools import setup
from Cython.Build import cythonize

setup(
    ext_modules = cythonize("hello.pyx")
)

运行 setup 脚本

$ python3 ./setup.py

最终您会在同一目录中得到一个 hello.chello.cpython-39-x86_64-linux-gnu.so 文件。

了解更多

Cython 语言是 Python 的超集,支持 C 函数和数据类型。它不太可能直接帮助您学习 C,但它为希望学习 C 并将 C 代码集成到 Python 中的 Python 开发人员开辟了新的可能性。

5. FreeDOS

学习更多 C 的最佳方法是用 C 编写代码,没有什么比编写您可以实际使用的代码更令人兴奋的了。FreeDOS 项目是 DOS(Windows 的前身)的开源实现。您可能已经使用过 FreeDOS,无论是作为运行 BIOS 更新程序的方便开源方法,还是在模拟器中玩经典的电脑游戏。但是,您可以使用 FreeDOS 做更多的事情。它是一个学习 C 的理想平台,它拥有一系列工具,鼓励您编写自己的命令和简单(或如果您愿意,也可以不那么简单)的应用程序。当然,您可以在任何操作系统上编写 C 代码,但 FreeDOS 的简洁性可能会让您感到耳目一新。天空是极限,但即使在地面上,您也可以用 C 做一些非常有趣的事情。

下载电子书

您可以在我们的 新电子书 中了解更多关于 C 的信息,并在我们的电子书中了解更多关于 FreeDOS 上的 C 的信息。这些是编程文章的集合,旨在帮助您学习 C,并演示如何在有用的方式中实现 C。

标签
Avatar
我喜欢我的隐私。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.