linux 系统
charlie_2010
这个作者很懒,什么都没留下…
展开
-
Linux下的系统调用及用户编程接口(API)
一、什么是系统调用 所谓系统调用是操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务。 用户可以通过进程控制相关的系统调用来创建进程、实现进程调度、进程管理等。二、Linux系统的保护机制原创 2011-08-26 12:52:31 · 1646 阅读 · 0 评论 -
Ubuntu IP系统配置文件使用命令设置地址
vm下ubuntu ip设置按下ctrl+alt+del ,进入 Ubuntu IP对于电脑使用的玩家的常用软件,然后我就学习及深入的研究Ubuntu IP,在这里和大家一起探讨Ubuntu IP的使用方法,希望对大家有用。Ubuntu IP地址配置.一、使用命令设置Ubuntu IP地址1.修改配置文件blacklist.conf禁用IPV6:sudo vi转载 2012-10-15 17:09:29 · 1078 阅读 · 0 评论 -
VMware 虚拟机下安装的ubuntu系统,在这基础上在安装g++
查看哪些包被 build-essential依赖用命令:apt-cache depends build-essential输出如下:eric@eric-laptop:~/source$ apt-cache depends build-essentialbuild-essential |依赖: libc6-dev 依赖: libc6-dev 依赖: g++ 依赖: make 依赖: dpkg-de原创 2012-10-16 09:40:46 · 1834 阅读 · 0 评论 -
Linux2.6内核的原子操作的实现
Linux2.6.18之后,删除了和,GCC提供了内置的原子操作函数,更适合用户态的程序使用。现在atomic.h在内核头文件中,不在gcc默认搜索路径下,即使像下面这样强行指定路径,还是会出现编译错误。1. #include gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作,可以对1,2,4或8转载 2012-04-19 12:44:43 · 640 阅读 · 0 评论 -
Linux内核的同步机制:原子操作
Linux内核的同步机制:原子操作原子操作:UP和SMP的异同原子操作是不可分割的,在执行完毕不会被任何其它任务或事件中断。在单处理器系统(UniProcessor)中,能够在单条指令中完成的操作都可以认为是"原子操作",因为中断只能发生于指令之间。这也是某些CPU指令系统中引入了test_and_set、test_and_clear等指令用于临界资源互斥的原因。但是,在对称多处理器(Sy转载 2012-04-19 12:42:24 · 438 阅读 · 0 评论 -
linux:如何查看目录的大小统计(zz)
du 列出當前目錄下所有的文件、子目錄及各自的大小,最後一個是當前目錄所佔用總空間。du -s 只列出當前目錄所佔用的空間。du -sh 以列出k、M字節為單位的空間。原创 2012-03-15 09:25:44 · 595 阅读 · 0 评论 -
常用的VIM命令列表 移动光标
常用的VIM命令列表 移动光标按o键向下增加一行上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以单词向前移动 nw:光标向前移动n个单词 光标到单词的第一个字母上b:与w相反e: 光标以单词向前移动 ne:光标向前移动n个单词 光标到单原创 2012-02-25 11:08:13 · 671 阅读 · 0 评论 -
linux下vim命令详解
高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx 开始记录宏,并将结果存入寄存器xq 退出记录模式@x 播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,转载 2011-12-14 14:26:59 · 382 阅读 · 0 评论 -
makefile中使用函数
在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:$( )或是${ }这里,就是函数名,make支原创 2011-11-02 14:33:33 · 1292 阅读 · 0 评论 -
makefile中的patsubst
1、wildcard : 扩展通配符2、notdir : 去除路径3、patsubst :替换通配符例子:建立一个测试目录,在测试目录下建立一个名为sub的子目录$ mkdir test$ cd test$ mkdir sub在test下,建立a.c和b.c2个文件,在sub目录下,建立sa.c和sb.c2 个文件建立一个简单的Makefiles转载 2011-10-28 16:30:29 · 4873 阅读 · 4 评论 -
一个很好的makefile教程3(转载)
使用函数————在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:$( )或是${ }这里,就是函数名,make支持的转载 2011-10-29 10:16:00 · 612 阅读 · 0 评论 -
makefile多目录的
这是一个项目的,如果是多个项目。那么cd 项目目录 make 即可(cd $(TREE) && make all)。 make执行的就是目录下面的项目的makefile下面是两种makefile: 一种是所有.c的依赖信息在一个文件里; 一种是每个.c的依赖信息都有一个.d, 一一对应。并且自动根据设置的依赖目录搜索所需的文件,生成依赖转载 2011-10-29 09:30:50 · 2265 阅读 · 0 评论 -
如何调试makefile
makefile 的调试有点像魔法。可惜,并不存在makefile 调试器之类的东西可用来查看特定规则是如何被求值的,或某个变量是如何被扩展的。相反,大部分的调试过程只是在执行输出的动作以及查看makefile。事实上,GNU make 提供了若干可以协助调试的内置函数以及命令行选项。用来调试makefile 的一个最好方法就是加入调试挂钩以及使用具保护的编程技术,让你能够在事情出错时恢复转载 2011-10-28 15:28:40 · 1110 阅读 · 0 评论 -
Makefile模板
简介:通用——只需把一些变量设置好就能使用。分类:1. 通用的c项目2. 通用的c++项目3. 通用的静态库c项目4. 通用的动态库c项目建议的目录结构:project bin include src tests复杂一点的:project docs bin原创 2011-10-28 09:37:03 · 539 阅读 · 0 评论 -
关于MemoryBarrier
内核中定义的内存屏障原语有: #define barrier() __asm__ __volatile__("": : :"memory") #define mb() alternative("lock; addl $0,0(%%esp)", "mfence", X8转载 2011-10-18 11:22:40 · 1748 阅读 · 0 评论 -
GDB 多线程调试
先介绍一下GDB多线程调试的基本命令。 info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。 thread ID 切换当前调试的线程为指定ID的线程。 break thread_test.c:123 thread all在所有线程中相应的行上设置断点原创 2011-06-04 09:15:00 · 3049 阅读 · 2 评论 -
lsof 常用命令
Lsof 是遵从Unix 哲学的典范,它只做一件事情,并且做的相当完美——它可以列出某个进程打开的所有文件信息。打开的文件可能是普通的文件,目录,NFS文件,块文件,字符文件,共享库,常规管道,明明管道,符号链接,Socket流,网络Socket,UNIX域Socket,以及其它更多。因为Unix系统中几乎所有东西都是文件,你可以想象lsof该有多有用。 如何使用lsof?转载 2013-05-24 15:26:08 · 998 阅读 · 0 评论