C标准中一些预定义的宏

 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__ );
  }

时间: 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;amp;quot;预定义类型&amp;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