7月4日

本文深入探讨了Windows CE5.0环境下的RetailMsg宏、GetCurrentThread函数、系统错误代码、宏定义及.ini文件的使用,详细解释了每个概念的功能与应用,并通过实例说明了extern关键字的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要点总结

1.RETAILMSG (Windows CE 5.0)

This macro conditionally outputs a printf-style formatted message.

这个宏有条件地输出一个printf风格格式化的消息。

http://msdn.microsoft.com/en-us/library/aa451087.aspx


2.GetCurrentThread function

Retrieves a pseudo handle for the calling thread.

检索一个伪句柄来调用线程

http://msdn.microsoft.com/en-us/library/windows/desktop/ms683182(v=vs.85).aspx


3.系统错误代码

ERROR_SUCCESS

0 (0x0)

The operation completed successfully.

0000 

操作已成功完成。


4.宏定义

"#ifdef 语句1
程序2
#endif“

可翻译为:如果宏定义了语句1则程序2。

作用:可以用它区隔一些与特定头文件、程序库和其他文件版本有关的代码。


#if 表达式
程序段1
#else
程序段2
#endif

作用:当指定的表达式值为真(非零)时,就编译程序段1,否则编译程序段2。可以事先给定一定条件,使程序在不同的条件下执行不同的功能。


5.ini文件

.ini 文件是Initialization File的缩写,即初始化文件。是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界

面就可实现相同的配置了,但在某些情况,还是要直接编辑.ini。


6.extern

extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。

在一个源文件里定义了一个数组“char a[6];”,在另外一个文件里用下列语句进行了声明,“extern char *a;”。这样的做法是错误的,程序运行时会告诉你非法访问。原因在于,

指向类型T的指针并不等价于类型T的数组。extern char *a声明的是一个指针变量而不是字符数组,因此与实际的定义不同,从而造成运行时非法访问。应该将声明改为extern

 char a[ ]。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值