首页 > 系统相关 >在 Linux 上学习 C 语言的五种方式

在 Linux 上学习 C 语言的五种方式

时间:2022-10-14 18:02:09浏览次数:48  
标签:语言 Python setup GTK FreeDOS Lua 五种 Linux

有许多关于为什么 C 语言能够经久不衰的说法。或许是因为它语法简单明了。又或许是因为它常被认为是实用的语言,因为它不基于其他高级语言,可以在任何平台上编译运行。C 显然是一种强大的语言,并且我认为它经久不衰与它作为其他技术的基础的方式相关。这里有 5 项我喜爱的基于 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 超过了你的需求,你或许认为一个终端用户界面terminal user interface(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.c
hello.cpython-39-x86_64-linux-gnu.so
文件。

 

了解更多

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

 

5、FreeDOS

了解更多 C 语言的最好方式是编写 C 代码,没有什么比写你可以真正使用的代码更令人激动的了。FreeDOS 项目是 DOS 的开源实现, 而 DOS 是 Windows 的前身。或许你已经用过 FreeDOS 了,或者作为运行 BIOS 更新程序的便捷开源方法,或者在模拟器中玩经典的计算机游戏。你可以用 FreeDOS 做更多事情。它是学习 C 语言的理想平台,其中包含一系列工具,鼓励你编写自己的命令和简单(或不那么简单,如果你愿意)的应用程序。当然你可以在任何系统上写 C 代码,但是 FreeDOS 的便利可能会让你感到耳目一新。天空有极限,但即使在地面上,你也可以用 C 做一些非常有趣的事情。

标签:语言,Python,setup,GTK,FreeDOS,Lua,五种,Linux
From: https://www.cnblogs.com/jinjin6/p/16792474.html

相关文章

  • 【Linux 管理】如何将 PCI Bus 地址和物理 PCI 插槽对应
    前言事情是这样的:实验室做机器学习的服务器挂了一张显卡。这台服务器总共有8张RTX2080Ti显卡,现在使用nvidia-smi查看显卡信息,只能检测到七张显卡。查看连接到服务......
  • linux tar 解压缩相关
    linuxtar解压缩相关tar压缩示例tar–cvffile.tardir/files#将dir里files文件打包tar-zcvftarame.tar.gzdir/files#将dir/files压缩#z用gzip压缩,#c另......
  • C语言思维导图前五章总结(超详细,复习必备)
    源文件在process on(在线流程图)上面,和这个同一个名字哦。......
  • 解决C语言中scanf()、strcpy()函数报错问题。
    在C语言的学习中,使用VisualStudio2019编译器中的scanf()、strcpy()函数和一些数组里的函数会报错,这是编译器预处理没有设置好,下面看一下如何设置。先找到源文件中自己的项......
  • 修改linux系统的文件打开数量(too many open files)​
    修改linux系统的文件打开数量(toomanyopenfiles)​在linux平台上,所有资源都是以文件的方式进行管理的,其中socket连接更为典型。​高并发TCP/UDP连接时,最高的并发数量受到li......
  • linux查看内存&磁盘
    查看内存空间使用“free”命令可以查看服务器的内存空间,选项“-m”表示以MB(兆字节)的数据存储单位进行显示。执行结果如下所示:[root@localhost~]#free-m......
  • linux查看上一条命令的执行结果
    linux查看上一条命令的执行结果Echo$?0成功其他失败    汇总:$0  # 脚本启动名(包括路径)      $n  # 第n个参数,n=1,2,…9 ......
  • java语言概述
    java语言的平台版本1JavaSE标准版2JAVAEE企业版3JAVAME小型版电脑的两种操作方式1图形化界面2命令行(功能更强大)在黑窗口转换路径:d:加回车    查看当前......
  • 关于linux端口号
    今天部署了大运维平台,访问telnet不通1、查看哪些端口被打开了:netstat-anp  2、确保端口未在使用netstat-na|grep:9006ss-na|grep:90063、启用端口安装......
  • linux储存大文件到FAT32
    FAT32的单个文件的最大大小为4G,超过4G的文件就必须要分割成几个小文件再拷贝进去。linux下提供了split命令来分割文件。splitd:后缀用00,01,02……如果不使用这个选项,就是......