C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。
宏(双下滑线) 意义
__DATE__ 进行预处理的日期(“Mmm dd yyyy”形式的字符串文字)
__FILE__ 代表当前源代码文件名的字符串文字
__LINE__ 代表当前源代码中的行号的整数常量
__TIME__ 源文件编译时间,格式微“hh:mm:ss”
__func__ 当前所在函数名
对于__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。
下面一个例子是打印上面这些预定义的宏的。
#include <stdio.h>
#include <stdlib.h>
void why_me();
int main()
{
printf( "The file is %s.\n", __FILE__ );
printf( "The date is %s.\n", __DATE__ );
printf( "The time is %s.\n", __TIME__ );
printf( "This is line %d.\n", __LINE__ );
printf( "This function is %s.\n", __func__ );
why_me();
return 0;
}
void why_me()
{
printf( "This function is %s\n", __func__ );
printf( "The file is %s.\n", __FILE__ );
printf( "This is line %d.\n", __LINE__ );
}
C标准中一些预定义的宏
时间: 2024-09-09 06:57:10
C标准中一些预定义的宏的相关文章
使用预定义框架集为网页添加框架
网页 通过预定义的框架集,您可以很容易地选择您要创建的框架集类型. 创建预定义的框架集有两种方法: 通过插入栏,您可以创建框架集并在某一个新的框架中显示当前文档. "新建文档"对话框创建新的空框架集. 要创建预定义的框架集并在某一框架中显示现有文档,请执行以下操作: 将插入点放置在文档中. 执行下列操作之一: 从"插入">"HTML">"框架"子菜单中选择预定义的框架集. 在"插入"栏的&quo
动态网页制作技术JSP中“预定义变量”的使用
js|变量|动态|网页 动态网页制作技术JSP技术 初级教程 "预定义变量"如何使用 JSP教程 为了简化JSP表达式和scriptlets中的代码,提供了8种自动定义的变量,有时称做implicit objects(固有对象).它们是:request,response,out,session,application,config,pageContext,和 page.下面我们来详细的了解它们. request 与request相联系的是HttpServletRequest类,使您可以
jsp Servlet中脚本元素、指令和预定义变量解析
1 JSP脚本元素 JSP脚本元素用来插入Java代码,这些Java代码将出现在由当前JSP页面生成的Servlet中.脚本元素有三种格式: 表达式格式<%= expression %>:计算表达式并输出其结果. Scriptlet格式<% code %>:把代码插入到Servlet的service方法. 声明格式<%! code %>:把声明加入到Servlet类(在任何方法之外). 下面我们详细说明它们的用法. JSP表达式 JSP表达式用来把Java数据直接插入到
WCF中的Binding模型之六(完结篇):从绑定元素认识系统预定义绑定
由于绑定对象由一系列有序的绑定元素组成,绑定元素最终决定着信道栈中信道的组成,而信道的组成最终又决定了信道栈对消息进行处理的方式和能力,所有要确定绑定的特性和能力,我们可以通过查看其绑定元素的构成来一窥究竟.为此我们我们写了一个简单的方法,用于列出一个具体的绑定对象所有的绑定元素,在介绍一个个具体的系统绑定中,我会使用该方法: 1: static void ListAllBindingElements(Binding binding) 2: { 3: BindingElementCollecti
[WCF中的Binding模型]之六(完结篇):从绑定元素认识系统预定义绑定
由于绑定对象由一系列有序的绑定元素组成,绑定元素最终决定着信道栈中信道的组成,而信道的组成最终又决定了信道栈对消息进行处理的方式和能力,所有要确定绑定的特性和能力,我们可以通过查看其绑定元素的构成来一窥究竟.为此我们我们写了一个简单的方法,用于列出一个具体的绑定对象所有的绑定元素,在介绍一个个具体的系统绑定中,我会使用该方法: static void ListAllBindingElements(Binding binding) { BindingElementCollection elemen
艾伟:[WCF中的Binding模型]之六(完结篇):从绑定元素认识系统预定义绑定
由于绑定对象由一系列有序的绑定元素组成,绑定元素最终决定着信道栈中信道的组成,而信道的组成最终又决定了信道栈对消息进行处理的方式和能力,所有要确定绑定的特性和能力,我们可以通过查看其绑定元素的构成来一窥究竟.为此我们我们写了一个简单的方法,用于列出一个具体的绑定对象所有的绑定元素,在介绍一个个具体的系统绑定中,我会使用该方法: static void ListAllBindingElements(Binding binding){ BindingElementCollection element
HTML中使用SVG与SVG预定义形状元素介绍
SVG 文件可通过以下标签嵌入 HTML 文档:<embed>.<object>或者<iframe>. 复制代码 代码如下: <embed src="rect.svg" width="300"height="100" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/&quo
C#中&;amp;quot;预定义类型&;amp;quot;是什么意思
问题描述 C#中"预定义类型"是什么意思老师说整数类型.布尔类型是"预定义类型"但"结构类型""枚举类型"不是这是为什么 解决方案 解决方案二:c#提供了一系列预定义类型.它们与c/c++有不少相似的地方.预定义引用类型有object和string.object类型是所有其他类型的基础. 预定义类型包括符号数.无符号数.浮点.布尔.字符和十进制数.符号数有:sbyte.short.int和long:无符号数有:byte.ush
php中常用的预定义变量小结_php技巧
复制代码 代码如下: <?php echo "当前操作系统信息".PHP_OS."<br/>"; echo '本文件路径和文件名为:'.__FILE__.'<br />'; echo "当前PHP版本信息".PHP_VERSION."<br/>"; ?> 常用的php预定义变量! 前面的$_SERVER[PHP_SELF]返回的是一段信息,如"/upload/try.p