自定义博客皮肤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 182

原创 守护进程

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

2013-01-06 18:39:18 255

转载 ubuntu apt

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

2013-01-05 18:18:06 255

原创 标准I/O库

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

2013-01-04 23:15:38 197

原创 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 197

原创 静态库和动态库

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

2012-12-28 15:00:40 235

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

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

2012-12-26 12:31:35 160

原创 ubuntu C开发环境搭建

1.下载ubuntu,更新APT sudo apt-get update 2.安装SSH服务,打字法 sudo apt-get install openssh-server sudo apt-get install fcitx 3.安装VIM sudo apt-get install vim 安装CTAGS sudo apt-get install exuberant-ctags

2012-12-25 21:33:19 242

原创 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 149

原创 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 620

原创 VIM使用

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

2012-12-20 08:33:55 207

原创 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 292

原创 原码,反码,补码

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 303

空空如也

空空如也

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

TA关注的人

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