c_lang_Reference_040903_01

原创 2004年09月03日 10:02:00

文字来源 VC世界--C语言教室

自我存档,也献给和我一样的DElphi程序员

  所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理是C语言的一个重要功能, 它由预处理程序负责完成。当对一个源文件进行编译时, 系统将自动引用预处理程序对源程序中的预处理部分作处理, 处理完毕自动进入对源程序的编译。

  C语言提供了多种预处理功能,如宏定义、文件包含、 条件编译等。合理地使用预处理功能编写的程序便于阅读、修改、 移植和调试,也有利于模块化程序设计。本章介绍常用的几种预处理功能。

 

1. 预处理功能是C语言特有的功能,它是在对源程序正式编译前由预处理程序完成的。程序员在程序中用预处理命令来调用这些功能。

2. 宏定义是用一个标识符来表示一个字符串,这个字符串可以是常量、变量或表达式。在宏调用中将用该字符串代换宏名。

3. 宏定义可以带有参数,宏调用时是以实参代换形参。而不是“值传送”。

4. 为了避免宏代换时发生错误,宏定义中的字符串应加括号,字符串中出现的形式参数两边也应加括号。

5. 文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。


6. 条件编译允许只编译源程序中满足条件的程序段,使生成的目标程序较短,从而减少了内存的开销并提高了程序的效率。

7. 使用预处理功能便于程序的修改、阅读、移植和调试,也便于实现模块化程序设计。

 

java.lang.ref.Reference源代码分析

java.lang.ref.Reference源代码分析
  • u012998254
  • u012998254
  • 2017年08月03日 11:49
  • 77

Caused by: java.lang.AssertionError: illegal type variable reference 解决办法

07-24 10:54:13.529: E/AndroidRuntime(12130): FATAL EXCEPTION: AsyncTask #3 07-24 10:54:13.529: E/And...
  • Bobbybear
  • Bobbybear
  • 2013年08月13日 18:14
  • 3497

php_lang_ref:Language Reference >> References Explained >> What References Do

  • alexander_phper
  • alexander_phper
  • 2017年07月16日 18:54
  • 160

php_lang_ref:Language Reference >> Generators >> Generator syntax

  • alexander_phper
  • alexander_phper
  • 2017年07月16日 16:43
  • 329

java.lang.ref.Reference

Java代码  Reference提供了一些引用的基本方法以及静态代码块最高优先级启动ReferenceHandler线程  Reference提供了一些引用的基本方法以及静态代码块最高优先级启动Re...
  • huxin1
  • huxin1
  • 2011年04月03日 00:30
  • 2932

c lang install

  • 2009年02月18日 12:01
  • 23KB
  • 下载

01 java.lang.Object

Object 2015.01.14 ...
  • u011039332
  • u011039332
  • 2015年08月18日 21:13
  • 250

java源码阅读-java.lang.String(01)

Java源码阅读 前言String 类为字符串,是Java总常用类之一。public final class String{...}String 类被final修饰:表示该类不能被继承、其中所有方法隐...
  • lxp3360
  • lxp3360
  • 2017年07月25日 16:09
  • 113

notepad++ 查找引用(Find Reference)(适用于c c++及各类脚本比如lua、python等)

在程序开发过程中,程序员经常用到的一个功能就是查找引用(Find Reference),Visual Studio里面的对应功能是“查找所有引用”(Find All References)。在使用no...
  • o_oxo_o
  • o_oxo_o
  • 2015年07月04日 17:00
  • 5293

Glib交叉编译:g__cancellable_lock undeclared!&HEADER/C_IN undeclared!&undefined reference to "localeconv"

编译过程遇到了诸多问题,记录下来以便后续参考: /libtool: eval: line 964: syntax error near unexpected token `|’: ...
  • dadoneo
  • dadoneo
  • 2012年11月19日 14:06
  • 4242
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c_lang_Reference_040903_01
举报原因:
原因补充:

(最多只允许输入30个字)