- 博客(14)
- 资源 (20)
- 收藏
- 关注
原创 宏定义中的‘#’、‘##’操作符和‘...’、‘ __变参__ ’
1.#假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串。例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串。该过程称为字符串化(stringizing).#incldue #define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x
2012-03-29 14:17:24 1064
原创 函数名加上了括号
今天看公司的一位大佬写的一个函数库模块--corenowa(这是他自己取的名字),发现里面有很多地方非常巧妙!比如 :#ifdef __STDC__#define STR(x) #x#define CONC(x,y) x##y#define CONC3(x,y,z) x##y##z#else#define STR(x) "x"#define
2012-03-29 13:47:53 3146
原创 结构体里的元素前面有一点“.”代表什么意思
提问:在android的bootloader源码目录中,发现这个文件lk/app/aboot/aboot.c里面有一个关于结构体的定义,让我有点不太明白,哪位高手来解惑一下?struct atag_tcc_entry{ char output; char resolution;};struct atag_tcc_entry tcc_param = { .output
2012-03-28 17:08:53 1900
原创 php关于cookie的一些问题
今天遇到一个问题 折腾了我一会儿!原来同一页面 先 setcookie ,马上获取 cookies ,是得不到的!第二次载入此页面才可以得到。可以立即到别的页面得到。在官方网站看到setcookie是这样解释的:setcookie() defines a cookie to be sent along with the rest of the HTTP headers. Like
2012-03-18 02:31:57 700
原创 ldconfig命令的作用
ldconfig命令的作用ldconfig是一个动态链接库管理命令为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfigldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.
2012-03-16 09:30:10 674
原创 static修饰函数和变量
static修饰符是一个能够减少此类命名冲突的有用工具。例如,以下声明语句static int a;其含义与下面的语句相同int a;只不过,a的作用域限制在一个源文件内,对于其他源文件,a是不可见的。因此,如果若干个函数需要共享一组外部对象,可以将这些函数放到一个源文件中,把它们需要用到的对象也都在同一个源文件中以static修饰符声明。static修饰符
2012-03-15 17:39:12 2451
原创 C++俄罗斯方块(linux环境)
本程序的运行环境是linux,用到了多线程。创建了一个用来绘图的线程和一个获取按键的线程。程序中有一些需要改善的地方,比如336-338行定义的全局变量以及声明的对象。本来声明的Block和Table对象应该在main函数里面,然后将这两个对象作为参数传递给线程函数getkey。但是好像只能传递一个对象参数给线程函数。希望高手能够对程序进行改进。ps:由于用到了多线程,而pthread不是li...
2012-03-12 15:17:29 3888 3
原创 找出两个三位数相乘后得到的最大的回文数
这是一道简单的C语言面试题,环境为linux./*找出任意两个三位数相乘后得到的最大的回文数*/#include #include #include #define MAX 20/*由于itoa函数在linux系统不存在,所以自己定义.*/char *itoa(int value,char *string){ int rt=0; if(string==NULL)
2012-03-12 14:37:36 2934
原创 TCP/IP详解学习笔记(6)-UDP协议
1.UDP简要介绍UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议。2.UDP协议头2.1.UDP端口号由于很多软件需要用到UDP协议,所以UDP协议必须通过某个标志用以区分不同的程序所需要的数据包。端口号的功能就在于此,例如某一个UDP程序A在系统中注册了3000端口,那么,以后从外
2012-03-07 10:59:59 773
原创 linux下获取键盘按键
#include#include#include int main(){ fd_set rfds,rs; struct timeval tv; int i,r,q,j; struct termios saveterm,nt; int fd=0; unsigned char c,buf[32],str[8]; tcgetattr(fd,
2012-03-05 17:45:59 3484
原创 TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节
1.静态IP选路1.1.一个简单的路由表选路是IP层最重要的一个功能之一。前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由。这里就不重复了。首先来看看一个简单的系统路由表。Destination Gateway Genmask Flags Metric Ref Use Iface192.168.1
2012-03-05 13:23:31 600
原创 TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute
1.IMCP协议介绍前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误的机会,这 也就是为什么说建立在IP层以上的协议是可能做到安全的原因。IC
2012-03-02 09:07:55 616
原创 Makefile 中的几种 等号
在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endif
2012-03-01 10:54:27 2358
原创 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议
把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息。数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息。1.IP协议IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未
2012-03-01 10:26:31 652
360安全网址导航源码 2013夏季版
2013-05-19
Linux程序设计+中文第4版(part5)
2012-05-29
Linux程序设计+中文第4版(part4)
2012-05-29
Linux程序设计+中文第4版(part1)
2012-05-29
Linux程序设计+中文第4版(part3)
2012-05-29
Linux程序设计+中文第4版(part2)
2012-05-29
Linux程序设计中文第4版
2012-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人