C preprocessor
一直觉得C语言的预处理
器是个美妙而神奇的工具,以后会陆续把自己学到的关于它的新知识总结出来。To be continued aways...
一、 #define替换
(Pointer ON C
, Ch14.2.2)
程序中扩展#define定义符号和宏时,涉及如下几个步骤:
(1) 在调用宏时,首先对参数进行检查,看看是否包含了任何由#define 定义的符号,如果是,它们首先被替换。
(2) 替换文本随后被插入到程序中原来文本的位置,对于宏,参数被它们的值替代。
(3) 最后,再次到结果文本进行扫描,看看它是否包含了任何由#define 定义的符号,如果是,就重复上述处理过程。
看一个例子:
#define _QUOTEME(x) #x
#define QUOTEME(x) _QUOTEME(x)
那么QUOTEME(__LINE__);将会被替换成字符串“34”(如果当QUOTEME被调用时,__LINE__刚好等于34)
而_QUOTEME(__LINE__);将会直接被替换为"__LINE__"!
相关文档:
先是内核驱动程序:
#include <linux/module.h>//具体的头文件位置为/opt/FriendlyARM/mini2440/linux-2.6.29/include/linux/*.h
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <l ......
1.分类
内部类型 和用户定义类型
2.
整形:bool ,字符型,整形
true 1 flase 0
非零 true & ......
今天有个刚刚毕业的小朋友问我关于void*的一些问题,刚好在网上找到了一篇比较详细说明的文章,转载之......
1.概述
许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。
2.void的含 ......
1 前言
长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可维护性差,布置困难,升级不方便,维护成本高就是一个相当重要的因素。有很多企业用户就是因为这个原因而放弃使用C/S。然而当一个应用必须要使用C/S结构才能很好的实现其功能的时 ......
今天发现电脑出现莫名奇妙的问题,任务栏的图标都无法使用了。而且注册表也无法使用。
处理方法:
一、先解锁注册表。此步骤后可以正常访问修改注册表。
http://zhidao.baidu.com/question/8109053.html?fr=ala0
注册表被管理员停用,
1、新建一个文本文件,在其中输入以下内容。
[HKEY_CURRENT_USER/Software/Micro ......