文档章节

多文件结构和编译预处理命令

世__界
 世__界
发布于 2015/06/03 16:41
字数 403
阅读 3
收藏 0

一.编译预处理命令

一.#include包含指令

  1. 将一个源文件嵌套到当前源文件中该点出。

  2. #include<文件名>

       按标准方式搜索,文件位于C++系统目录的include子目录下

  3. #include"文件名"

      首先在当前目录中搜索,若没有,再按照标准方式搜索。

二.#define宏定义指令

  1. 定义符号常量,已被const定义语句取代。

  2. 定义带参数宏,已被内联函数取代。

  3. #undef

        删除由#define定义的宏,使之不再其作用。

三.条件编译指令

  1. #if   常量表达式   //当“常量表达式”非零时编译

    程序正文

    #endif

    ...........

  2. #if    常量表达式   //当“常量表达式”非零时编译

    程序正文1

    #else     //当“常量表达式”为零时编译

    程序正文2

    #endif

  3. #if 常量表达式1     //当“常量表达式1”非零时编译

    程序正文1

    #elif 常量表达式2     //当“常量表达式2“非零时编译

    程序正文2

    #else

    程序正文3    //其他情况下编译

    #endif

  4. #ifdef    标识符               //如果定义这个标识符就执行程序段1

                  程序段1

    #else

                  程序段2

    #endif

  5.  

    #ifndif    标识符                 //如果没有定义这个标识符就执行程序段1

                 程序段1

    #else

                  程序段2

    #endif

二.多文件结构

一个源程序一般至少分为三个源文件:

                                                      类声明文件(.h文件)

                                                      类实现文件(.cpp文件)

                                                     类使用文件(main()所在的.cpp文件)

利用工程来组合各个文件。

 

© 著作权归作者所有

世__界
粉丝 1
博文 24
码字总数 6923
作品 0
驻马店
私信 提问
C语言-第1章、 程序设计基础与C语言概述

1_3 C结构与书写规则 _3-1 C程序的基本结构 【例1-1】在屏幕上显示出一行信息: 程序成分说明: (1)注释 注释用来向用户提示或解释代码的含义,提高代码的可读性。注释分为以“//”开始的单...

南风末
2016/10/29
14
0
c语言编译预处理和条件编译执行过程的理解

  在C语言的程序中可包括各种以符号#开头的编译指令,这些指令称为预处理命令。预处理命令属于C语言编译器,而不是C语言的组成部分。通过预处理命令可扩展C语言程序设计的环境。 一.预处理...

文艺小青年
2017/10/12
0
0
C语言编译全过程(有图有真相)

从上图可以看到: 预编译 将.c 文件转化成 .i文件 使用的gcc命令是:gcc –E 对应于预处理命令cpp 编译 将.c/.h文件转换成.s文件 使用的gcc命令是:gcc –S 对应于编译命令 cc –S 汇编 将....

Eysolitude
2016/01/08
142
0
Linux GCC 编译过程

目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序.GCC不仅功能非常强大,结构也异常灵活....

鉴客
2011/11/23
1K
0
C语言的编译链接过程详解

学过C语言的人都应该知道,我们所编辑的C语言程序是不能直接放到机器上运行的,它只不过是一个带".c"后缀的文件(也称为源代码)而已,需要经过一定的处理才能转换成机器上可运行的可执行文件...

LIU-X1001
2016/06/30
64
0

没有更多内容

加载失败,请刷新页面

加载更多

js—String的一些方法

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> var str="Hello boy" /** * 在底......

zhengzhixiang
8分钟前
2
0
vSphere ESXi 主机上的3种VLAN设置

VLAN - Virtual Local Area Network,虚拟局域网,能便捷地组建一个网络分组,并能提供诸多好处。VMware vSphere ESXi主机上,也可以在个层次上通过设置VLAN标签地形式来组建VLAN。从划分的层...

大别阿郎
30分钟前
3
0
elasticsearch 6.x的基本dsl语句

本文使用的谷歌浏览器插件sense,链接如下sense插件(兼容es6.x版本) 查看集群状态 http://106.12.27.130:9200/_cat/health?v 绿色-一切都很好(集群功能齐全) 黄色——所有的数据都是可用...

长恭
44分钟前
11
0
移动端的弹窗滚动禁止body滚动

本文转载于:专业的前端网站➼移动端的弹窗滚动禁止body滚动 前言 最近一个需求是弹窗展示列表,显然是需要一个滚动条的,而滚动到底部就会穿透到body滚动,而阻止默认行为是不行的,这样两个...

前端老手
今天
18
0
设计模式 建造者模式和模板方法模式扩展篇

建造者模式和模板方法模式扩展篇 UML 与抽象工厂模式比较 本模式可以看出与抽象工厂非常类似,都是产生不同的产品,怎么区分这两种设计的使用场景呢 - 建造者模式关注的是基本方法的调...

木本本
今天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部