自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 线程

多线程编程须借用第三方库:NPTL线程库 Native POSIX Thread Library(NPTL) 线程间同步和互斥机制 信号量:#include #include #include sem_t sem;int parked;void park(){ while(1){  sem_wait(&sem);  parked++;  prin

2013-01-06 18:54:42 190

原创 守护进程

LINUX系统中的进程类型:1.交互进程,该类进程是由Shell控制和运行的,交互进程既可以在前台运行,也可以在后台运行。2.批处理进程:该类进程不属于某个终端,它被提交到一个队列中以便顺序执行。3.守护进程:该类进程在后台运行,它一般在Linux启动时开始执行,系统关闭时结束。进程结构体为task_struct创建守护进程步骤:1.创建子进程,父进程退出。2.在子进程

2013-01-06 18:39:18 263

转载 ubuntu apt

编辑/etc/apt/sources.list文件,把里面的默认的都用#号注释掉(或全删掉)然后添加以下几行:##163deb http://mirrors.163.com/ubuntu/maverick main restricted universe multiversedeb http://mirrors.163.com/ubuntu/maverick-security

2013-01-05 18:18:06 263

原创 标准I/O库

问题:下面程序的输出是什么?(intel笔试2011)int main(){fprintf(stdout,"Hello ");fprintf(stderr,"World!");return0;}答案:World!Hello stdout是行缓冲的,他的输出会放在一个buffer里面,只有碰到换行的时候,才会输出到屏幕。而stderr是无缓冲的,会直接输出

2013-01-04 23:15:38 204

原创 static

试验:(1)第一个作用:隐藏。为什么在a.c中定义的全局变量a和函数msg能在main.c中使用?所有未加static前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问。此例中,a是全局变量,msg是函数,并且都没有加static前缀,因此对于另外的源文件main.c是可见的。如果加了static,就会对其它源文件隐藏。例如在a和msg的定义前加上static,main.c

2012-12-28 23:45:55 203

原创 静态库和动态库

Linux下的库有两种:动态库和静态库,二者的不同点在于代码被载入的时刻不同.静态库对函数库的链接是放在编绎时期完成的(compile time).动态库把对一些库函数的链接推迟到程序运行的时期(run time).创建静态库(libXXX.a):建立 printHello.c  printHello.h 文件ubuntu@ubuntu-virtual-machine:~/un

2012-12-28 15:00:40 240

转载 const 指针与指向const的指针

当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白了。      先说指向const的指针,它的意思是指针指向的内容是不能被修改的。它有两种写法。      const int* p; (推荐)      int const* p;      第一种可以理解为,p

2012-12-26 12:31:35 171

原创 ubuntu C开发环境搭建

1.下载ubuntu,更新APTsudo apt-get update2.安装SSH服务,打字法sudo apt-get install openssh-serversudo apt-get install fcitx3.安装VIMsudo apt-get install vim安装CTAGSsudo apt-get install exuberant-ctags

2012-12-25 21:33:19 250

原创 C常见问题

|: 有1就为1(1|1,1|0) 其它情况为0(0|0)&: 1&1为1 其它情况为0(1&0,0&1) void main(){ char a[10]={0,1,2,3}; char *p = a; printf("%d\n",*p+1); printf("%s\n","hsdf"+1);}打印出sdf,可见"hsdf"表示的是指向h的指针

2012-12-24 23:33:51 158

原创 Segmentation fault core dump调试

$ ulimit  -c 如果结果不是unlimited,说明 core dump没有开启,设置开启: 在文件最后面加上: ulimit -c unlimited 先使用gcc -g 使生成可调试文件,再用 gdb  ./a.out core 调试,可用where 找出发生段错误行

2012-12-24 17:43:07 631

原创 VIM使用

Vim常用命令1切换插入模式:命令模式下a                                (小写)光标之后进行插入A                                (大写)光标所在行尾进行插入i                                 (小写)光标前开始进行插入I

2012-12-20 08:33:55 221

原创 VIM个性定制

~/.vimrc  文件: ===============================================================set nu"can select tags when using  vim *.c -p  set mouse=a"改键imap set cursorline hi CursorLine   cterm

2012-12-20 08:31:59 301

原创 原码,反码,补码

void fun()  {      unsigned int a = 2013;      int b = -2;      int c = 0;      while (a + b > 0)      {          a = a + b;         c++;      }      printf("%d", c);  }  问打印出什

2012-12-18 19:50:49 317

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除