深入C语言:从汇编调用外部C函数
1. 学习汇编与C语言的价值
学习汇编语言有很大价值,它要求你详细了解一切工作原理。但实际上,不具备汇编层面的机器和操作系统掌控能力,也能编写高效程序,这正是高级语言的意义所在,它们允许在更高抽象层次上进行更轻松、快速的编程。
在Linux环境中,虽然有少量部分用汇编编写,但大部分操作系统是用C语言完成的。如果想在Linux下充分利用汇编语言,就需要学习C语言并在必要时使用它。学习调用C函数的技能很重要,因为这是了解系统工作原理的一部分,而且C语言在Linux中无处不在。
2. GNU的起源与发展
20世纪70年代末,Richard Stallman想要自己的Unix副本,但不想付费,于是开始编写自己的版本。他对当时的编程工具不满,还反对其高昂成本,因此在编写自己的Unix之前,他着手编写自己的编译器、汇编器和调试器(他之前已经编写了传奇的编辑器EMACS)。
Stallman将他的Unix版本命名为GNU,这是一个递归首字母缩写词,意为“GNU’s Not Unix”,这是一种巧妙的方式,用来绕过AT&T的商标律师。随着时间推移,GNU工具逐渐发展,但Stallman最终没有完成GNU本身。后来出现了其他免费的Unix版本,还引发了一些关于所有权的纷争。这让Stallman感到厌恶,他创建了自由软件基金会作为GNU工具开发的基地,并推出了GNU通用公共许可证(GPL),有时也被非正式地称为“反版权”。
GPL要求软件免费(包括所有源代码),并防止人们对软件进行小修改后声称衍生作品为自己所有,任何更改和改进都必须回馈给GNU社区。这种做法起初看似疯狂,但随着时间推移,它展现出
超级会员免费看
订阅专栏 解锁全文
195

被折叠的 条评论
为什么被折叠?



