关于为什么C语言存在了这么久,有很多说法。也许是因为它简单明了的语法。又或许是因为它经常被认为是一种实用语言,因为它不基于其他高级语言,可以在任何平台上编译运行。C显然是一种强大的语言,我认为它的长寿与它作为其他技术基础的方式有关。下面是我最喜欢的5个基于C的技术,希望能帮助大家深入了解C。1.GObject和GTKC语言都不是面向对象的编程语言。它没有类关键字。有些人使用C++进行面向对象编程,而其他人则坚持使用C和GObject库。GObject库为C语言提供类结构,而GTK项目以提供可通过C访问的工具包而闻名。没有GTK,就不会有GIMP(为此开发了GTK)、GNOME和数百种其他流行的开源软件应用程序。了解有关GObject和GTK的更多信息,它们是开始使用C进行GUI编程的好方法。它们“装备精良”,允许您使用C编写图形应用程序,因为开发人员为您做了很多“繁重的工作”。他们定义类和数据类型,创建工具包,而您所要做的就是将所有东西放在一起。2.Ncurses如果GTK超出了您的需求,您可能会认为终端用户界面(TUI)更适合您。Ncurses库可以在终端中创建“小部件”,即在终端窗口上绘制图形的应用程序。您可以使用箭头键来控制界面、选择按钮和元素,就像在没有鼠标的情况下使用GUI应用程序一样。了解有关使用Ncurses库用C语言编写数字猜谜游戏的更多信息。3.Lua和MoonscriptLua是一种脚本语言,可以使用内置的CAPI访问C语言库。它整洁、快速、简单,具有大约30个函数和一些内置库。您可以将Lua用于系统自动化、游戏修改和脚本编写,将L?VE等前端用于游戏开发,或将GTK用于一般应用程序开发(例如Howl文本编辑器)。深入了解Lua的好处在于,您可以从它开始学习基本的编程概念,然后当您有足够的勇气与基本的编程语言正面交锋时,再探索它的C语言API。另一方面,如果您只知道Lua,那也没关系。Lua拥有大量的外部库,使其成为各种开发风格的绝佳选择。4.CythonLua不是唯一具有C接口的编程语言。Cython是一种编译器和编程语言,旨在使为Python编写C扩展就像编写Python代码一样简单。本质上,您可以编写Python并以C程序结束。最简单的例子:print("helloworld")创建一个setup.py脚本:fromsetuptoolsimportsetupfromCython.Buildimportcythonizesetup(ext_modules=cythonize("hello.pyx"))运行设置脚本:$python3./setup.py最后你会在同一个目录下得到一个hello.c和hello.cpython-39-x86_64-linux-gnu.so文件。了解更多Cython是Python的超集,支持C语言函数和数据类型。直接帮助你学习C是不可能的,但它为想要学习C代码并将其融入Python的Python开发者开辟了新的可能性。5.FreeDOS深入了解C语言的最佳方式是编写C代码,没有什么比编写可以实际使用的代码更令人兴奋的了。FreeDOS项目是DOS(Windows的前身)的开源实现。也许您已经使用过FreeDOS,将其作为一种方便的开源方式来运行BIOS更新,或者在模拟器中玩经典电脑游戏。您可以使用FreeDOS做更多事情。它是学习C的理想平台,带有一组工具,可鼓励您编写自己的命令和简单(如果您愿意,也可以不那么简单)应用程序。当然,您可以在任何系统上编写C代码,但FreeDOS的便利性可能会令人耳目一新。天空是极限,但即使在地面上,您也可以用C做一些非常有趣的事情。
