![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 63
tron820
这个作者很懒,什么都没留下…
展开
-
Ubuntu 中/etc/resolv.conf 文件修改丢失的解决方案
使用wget下载文件时出现unable to resolve host name http://xxxx,根据网上的方法修改了/etc/resolv.conf后问题解决,可是每次重启电脑或者重启network-manager后该文件的修改总是丢失了到底是谁改写了这个文件?每次 做 service network-manager restart时该配置文件又复原了,看来是这个东西搞的鬼?转载 2015-07-04 20:15:19 · 10740 阅读 · 0 评论 -
如何在内核里面查找某些结构体或者宏的定义
想要查看一些结构体的定义,比如struct ip_mreq,可以查看头文件,所有的系统预定义的结构体都在内核源代码的/include下有定义,ubuntu里面是/usr/include 。 比如要找上面提到的struct ip_mreq,可以这样:find /usr/include -name "*.h" | xargs grep "struct ip_mreq" -rn ,结果显示,这个结转载 2015-08-03 17:17:47 · 806 阅读 · 0 评论 -
指针之 *((volatile unsigned long *)(x))解析
今天重新温习了一下C语言的指针部分,突然想到了经常会碰见的一种宏定义:#define PGAS (*((volatile unsinged long *)(x))) 在解析该宏定义前,先看看指针变量的声明 声明一个int类型的指针变量:int* p; 仅仅是这样定义,这个指针是不能够直接拿来使用的,还必须给它赋值(初始化),例如: int a = 10;转载 2015-08-04 19:57:24 · 463 阅读 · 0 评论 -
CFS调度器的实现代码
/* * All the scheduling class methods: */static const struct sched_class fair_sched_class = { .next = &idle_sched_class, .enqueue_task = enqueue_task_fair,转载 2015-07-24 10:59:35 · 698 阅读 · 0 评论 -
初次编译Linux—2.6.34内核
一、编译环境:在ubuntu12.04下编译纯内核Linux-2.6.34二、下载并解压源代码三、构建编译环境 现在我们得到的只是源代码,只是许许多多的文本文件,要想使这些文件成为可以运行的程序,需要使用编译器进行编译以及链接。编译器有很多,但在里linux下一般都使用gnu的开源编译器套件,这里包括gcc等,现在我们安装基本的编译器套件,如图所示:转载 2015-07-06 12:41:57 · 2004 阅读 · 0 评论