c语言
钢都百炼生
努力奋斗的青年
展开
-
semctl()函数
semctl() 函数是控制信号量(集合)时使用的,不过最常用的是删除它。Linux中的原型是:int semctl(int semid, int semnum, int cmd, ...);但是在其他的系统上原型可能有变化,SUSv2 and SUSv3 specify that the final argument to semctl() is optional. H原创 2012-10-12 16:00:04 · 3475 阅读 · 0 评论 -
semop() 函数
这个函数用来操作sem,对信号量进行加减。原型:int semop (int semid, struct sembuf *sops, unsigned nsops);其中第三个参数的意思是什么?这要从第二个参数说起,semop这个函数可以对一群(组)信号量进行操作,所以如何表示这样一组或是一群信号量呢?由第二个参数来指定他们的首地址,由第三个参数来指定数量。这里面有原创 2012-10-12 14:40:20 · 4933 阅读 · 0 评论 -
Linux终端编程
#include #include int tcgetattr(int fd, struct termios *termios_p); int tcsetattr(int fd, int optional_actions, const struct termios *termios_p); v原创 2012-07-29 17:53:56 · 712 阅读 · 0 评论 -
C语言面试题-字符串插入
两个字符串s,t将t插入到s当中,s有足够的空间。#include #include #include void insert(char *s,char *t, int i){ char *q = t; char *p = s; if (q == NULL) return ; while(*p!='\0') { if ( 0原创 2012-02-21 14:55:53 · 738 阅读 · 0 评论 -
字符串拷贝
#define savestring(x) (char *)strcpy(malloc(1+strlen(x)), (x))原创 2012-02-27 13:35:03 · 461 阅读 · 0 评论 -
shell脚本与C语言之间的关系
#if 0#!/bin/bashgcc $0./a.outexit#endif#include int main(int argc,char **argv){ printf("Hello,world\n"); return 0;}原创 2011-12-20 14:19:54 · 1350 阅读 · 0 评论 -
更正一个上课时讲的BUG
c语言基础;数据交换;在我当老师的时候,有人上过我的C语言课。当时在课上我说过这样一个例子,a=a^b;b=a^b;a=a^b;这个代码的功能是交换两个数,但是如果使用这个方法对不起你要判断,如果当a==b时,仍然做这个操作的话,我们应该知道后果。那就是两个数全都变成0.原创 2011-12-07 16:03:55 · 483 阅读 · 1 评论 -
永恒的话题-段拷贝
虽然说段拷贝是5年前的事情了,但是还是被人问到吐血.记得,上中专的时候,老师说过段拷贝.那时是使用si,di的.不过老师在上课的时候介绍的比较简单,就是通过看题目上的条件,如果数据区域有交集,需要使用何种方式拷贝?反着传!怎么反呢?如果,SRC>=DEST并且有交集的话,我们需要从数据区的低地址向高地址传递.如果,DEST>SRC并且有交集的话,我们需要从数据区的高地址向低原创 2011-10-20 22:26:05 · 453 阅读 · 0 评论 -
Linux中打印输出的问题
int main(int argc,char **argv){ printf("Hello,world"); while(1); return 0;}上面的程序是一个最简单的C语言程序,但是其中有一个问题是这个程序在Linux中是无原创 2011-09-28 20:56:40 · 1187 阅读 · 0 评论 -
C语言基础之数组
数组是一种数据结构(数据类型)。上面是对它的高度概括,刚开始的同学可能还不能理解它,让我慢慢道来。之前我们应该接触过一些基本的数据类型,int,float,long,long long,double,char,short,这些dous原创 2011-09-27 22:15:57 · 429 阅读 · 0 评论 -
Gcc扩展语法之你从哪里来
郑工昨天问我,这样一个问题:“我想知道是谁调用了这个函数”,他在解决一个关于wifi的bug。我想了一会儿说,在代码中插入一个空指针,让内核报一个空指针异常,可以打印一个栈帧信息。看到出错函数的调用关系。可是还是有点麻烦,有木有,一种方式能够知道这个问题呢?自然是有的。原创 2011-09-27 21:22:24 · 548 阅读 · 0 评论 -
GNUC扩展语法
本文章的内容是摘录自GNUC手册。http://gcc.gnu.org/onlinedocs/gcc-4.5.1/gcc/C-Extensions.html#C-Extensions在我从事的工作中,总使用到GNUC的语法知识,同志们,总是在这样的语法前头痛不已,我总原创 2011-09-05 12:49:56 · 652 阅读 · 0 评论 -
vim跳转命令
ta 跳到下一个a 前面fa 跳到下一个a大写的意思相反 另外还有%(跳到文件的%多少) 和|(跳到第几列) 不过我很少用上面的都可以加上数字前缀 表示第几个匹配另外看文件时 除了pageup pagedown外还有其它的快速键如CTRL-F 向前一页 CTRL-B 向后一页上面不是重要的CTRL-D 向下半页 CTRL-U 向上半页我觉得更实用转载 2014-09-01 09:42:04 · 986 阅读 · 0 评论