没画完的画
喂马 劈柴 BBQ~
posts - 37, comments - 55, trackbacks - 0, articles - 0
C++博客
:: ::
新随笔
::
联系
::
聚合
::
管理
#define 指令
Posted on 2008-09-14 16:56
没画完的画
阅读(205)
评论(0)
编辑
收藏
引用
所属分类:
VC
1、字符串化(Stringizing Operator)
#
#define
stringer( x ) printf( #x "\n" )
int
main()
{
stringer( In quotes
in
the printf function call\n );
stringer(
"
In quotes when printed to the screen
"
\n );
stringer(
"
This: \
"
prints an escaped
double
quote
"
);
}
如此的定义在进行处理时将被转换为如下代码:
int
main()
{
printf(
"
In quotes in the printf function call\n
"
"
\n
"
);
printf(
"
\
"
In quotes when printed to the screen\
"
\n
"
"
\n
"
);
printf(
"
\
"
This: \\\
"
prints an escaped double quote\
""
"
\n
"
);
}
程序运行结果如下:
In quotes
in
the printf function call
"
In quotes when printed to the screen
"
"
This: \
"
prints an escaped
double
quotation mark
"
2、字符化(Charizing Operator)
#@
例子:
#define
makechar(x) #@x
causes the statementa
=
makechar(b);
这条语句将被扩展为
a
=
'
b
'
;注意单引号字符不能使用这样的字符化。
3、连接符(Token-Pasting Opertor)
##
#define
paster( n ) printf( "token" #n " = %d", token##n ) int token9 = 9;
如果一个数字作为此宏的参数调用的话,
paster(
9
);
宏被展开为
printf(
"
token
"
"
9
"
"
= %d
"
, token9 );
进而成为这样的语句:printf(
"
token9 = %d
"
, token9 );
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
VC实现创建快捷方式
VC++ 不常用语法集锦 ( 2008.09.28 )
[转载]VC快捷键
[Z]CreateProcess 与 CreateProcessAsUser
[Z]Alpha通道实现
不可靠的宏
#define 指令
CAsyncSocket 的 OnReceive() 第一集
SymInitialize 函数
Windows多线程之信号量(Semaphore) {不断补充中...最后更新08.08.27}
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © 没画完的画
日历
<
2008年9月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
公告
欢迎交流,联系方式
QQ: 859934020(经常隐身)
E-mail: kredraw@21cn.com
Dict.CN
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
C++(3)
DirectX(3)
Reverse Engineering & ASM(4)
VC(11)
Windows COM(6)
Windows Driver(7)
随笔档案
2008年10月 (9)
2008年9月 (25)
2008年8月 (3)
文章分类
Windows
搜索
积分与排名
积分 - 57087
排名 - 396
最新随笔
1. 如此构造~
2. 有样东西,它叫“迭代器”
3. 网络协议的分层
4. CONST、TYPE 和 星号 的故事
5. VC实现创建快捷方式
6. 批处理的变量延时
7. DOS 的整除、循环变量
8. 函数堆栈是这么回事 第3集
9. 在 DOS 下获取批处理所在的目录
10. VC++ 不常用语法集锦 ( 2008.09.28 )
最新评论
1. re: 初探DirectDraw 第1集
求解呀,和GDI的DC有啥区别,我能用此DC画直线吗?
--new
2. re: Transparent Flash Control
@杨严
看清楚啦~
他们用了什么函数?
有dx函数存在啊,你的vs环境配置了没有?
--disala
3. re: 关于 TrueCrypt 第6集
评论内容较长,点击标题查看
--god4
4. re: 关于 TrueCrypt 第6集
评论内容较长,点击标题查看
--god4
5. re: 关于 TrueCrypt 第6集
评论内容较长,点击标题查看
--god4
阅读排行榜
1. CAsyncSocket 的 OnReceive() 第一集(5009)
2. [Z]CreateProcess 与 CreateProcessAsUser(4302)
3. Transparent Flash Control (4277)
4. 关于 TrueCrypt(3547)
5. SymInitialize 函数(2494)
评论排行榜
1. Windows多线程之信号量(Semaphore) {不断补充中...最后更新08.08.27}(5)
2. [Z]Alpha通道实现(5)
3. 初探DirectDraw 第1集(5)
4. 如此构造~(5)
5. 函数堆栈是这么回事 第3集 (4)