• 好好学习,天天向上~
  • 欢迎欢迎~

 分类:linux笔记

linux学习9,配置vim,NERD_tree,Source Explorer, Tag List 插件的使用

前面几节主要介绍了如何下载编译 linux 内核,也介绍了怎样使用 gdb 单步调试。既然涉及到调试代码,那查看代码是少不了的。但是linux 源码的代码量相当庞大,如果打算阅读之,就需要一个不错的阅读器,恰好一般 linux 系统都带有 vim ,它是一款可以扩充功能的阅读器,...

lcc 5个月前 (12-10) 208℃ 0评论 1

linux学习8,进程和线程

前面写了7篇文章介绍如何下载和编译,以及如何调试 linux 内核。在此基础上,现在开始,将和大家一起学习 linux 内核的基本设计和实现。本节先来学习一下 linux 内核中的进程。 进程不仅是 linux,也是大多数现代操作系统中的基本概念,程序员编写的代码编译成程序存储...

lcc 5个月前 (12-08) 164℃ 0评论 2

linux学习6,gdb工具的使用

本节介绍一下 linux 下的单步调试工具,方便我们后续调试 linux 内核。 linux 下程序开发不可避免遇到 bug 在程序开发中,调试和修复 bug 通常会占相当比例的时间,应该没有程序员能够一次性写出绝对完美的代码,除非程序只需要打印 hello world。在《C...

lcc 5个月前 (12-08) 150℃ 0评论 0

linux学习5,自制linux命令

前面四节介绍了如何定制自己的 linux。我们一起下载和编译了 linux 内核,又使用 busybox 配置了文件系统,然后使用 qemu 模拟运行了 linux,成就感大大的。在这几节,我们使用了大量的 linux 命令,命令式的操作与 windows 的界面操作方式差别很大...

lcc 5个月前 (12-08) 146℃ 0评论 0

linux学习4,busybox的使用

在第二节,我们一起下载和编译了 linux 内核源码,并且使用 qemu 模拟运行了编译好的内核,但是因为没有文件系统,内核在启动后期陷入了“kernel panic”。所以,上一节我们创建了 disk.img 文件作为“虚拟磁盘”,然后将其格式化为 linux 经典的 ext2...

lcc 5个月前 (12-08) 241℃ 0评论 0

linux学习3,init程序

上一节介绍了如何编译出指定平台的 linux 内核,也介绍了如何安装和利用 qemu 模拟器运行编译出来的 linux 内核。在此基础上,我们尝试修改了 linux 内核源码,成功的让 linux 内核在启动时,打印出了我们的名字。 我不明白,上一篇是一个一个字手打出来的...

lcc 5个月前 (12-08) 153℃ 0评论 1

linux学习2,五分钟学会调试内核,让操作系统打印自己的名字

上一节粗略的介绍了如何下载和编译 linux 内核,可只是编译出内核没什么意思,能不能让它跑起来呢?当然可以,本节的内容就是让 linux 内核跑起来,并且在系统启动时,打印出我们的名字。 qemu 模拟器 打算让“linux内核跑起来”,在什么地方跑呢?如果手边有闲置的电脑,那...

lcc 5个月前 (12-08) 231℃ 0评论 0

编译器是怎样优化代码的?如何查看编译器是否优化代码?怎样避免编译器优化代码?volatile关键字的使用

上次我们说到现代编译器已经非常聪明,为了保证程序的执行效率,会在编译时对代码做优化。水平较低的程序员写出的代码比较臃肿,编译器的优化确能够增加程序的执行效率。但是,编译器有时“聪明过了头”,自以为是的把有用的语句优化掉了,反而导致程序不能正常工作。 例如下面这几句代码, int...

lcc 7个月前 (10-29) 204℃ 0评论 1