随笔分类 - Linux
摘要:10月24日晚上,回到宿舍准备写这周的总结时,看了下课表突然意识到这已经是第八周,不得不说时间过得真快,与前两年轻松的、无任务的课程相比,今年真是充实了太多!这也许是感觉时间过得快的原因,但是最近我也遇到了许多问题,当接触的知识多了以后,发现自己要学的东西太多了,仅仅上课所学远远不够,所以课后自学了一些课程,遇到的问题一是自己好高骛远,总想急于求成,这看一点那看一点,没有系统的全面的琢磨一本书,
阅读全文
摘要:
这篇文章主要介绍了在linux中使用gcc编译c语言共享库的步骤,大家参考使用吧对任何程序员来说库都是必不可少的。所谓的库是指已经编译好的供你使用的代码。它们常常提供一些通用功能,例如链表和二叉树可以用来保存任何数据,或者是一个特定的功能例如一个数据库服务器的接口,就像MySQL。
阅读全文
摘要:
Linux 内核的主要用途就是为了与计算机硬件进行交互,实现对硬件部件的编程控制和接口操作,调度对硬件资源的访问,并为计算机上的用户程序提供一个高级的执行环境和对硬件的虚拟接口。在本文内容中,我们首先基于 Linux 0.11 版的内核源代码,简明地描述 Linux 内核的基本体系结构、主要构成模块。然后对源代码中出现的几个重要数据结构进行说明。最后描述了构建 Linux 0.11 内核编译实验环境的方法。
阅读全文
摘要:分析Linux 0.11中的kernel部分的makefile文件
GNU汇编编译器和连接器
#
AS =gas
LD =gld
#
#GNU连接器gld运行时用到的选项
#-s 输出文件中省略所有的符号信息
#-x 删除所有的局部符号
#-M 在标准输出设备(显示器)上打印连接映象(link map).
#连接映象:由连接程序产生的一种内存地址映象,其中列出了程序装入到内存中的位置信息
阅读全文
摘要:自动变量
假设您编写一个编译‘.c’文件生成‘.o’文件的规则:您怎样编写命令‘CC’,使它能够操作正确的文件名?您当然不能将文件名直接写进命令中,因为每次使用隐含规则操作的文件名都不一样。
您应该使用make的另一个特点,自动变量。这些变量在规则每次执行时都基于目标和依赖产生新值。例如您可以使用变量‘$@’代替目标文件名。
阅读全文