预编译指令,也称作宏定义

原创 2015年11月17日 20:17:01
预编译又称为预处理,是做些代码文本的替换工作。
处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译
就是为编译做的预备工作的阶段
主要处理#开始的预编译指令
先看一个实例:

#import <Foundation/Foundation.h>

//宏定义,也叫预编译指令;

#define PI 3.14

#define MUL(A,B)((A)*(B))

#define Sub(X,Y) X-Y


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        // insert code here...

        NSLog(@"Hello, World!");

 //求圆的面积,假设半径为 5

        int round = PI * 5 * 5;

        printf("%d\n",round);

        

        int ai = 3,bi = 5;

        printf("%d\n",MUL(ai,bi));

        printf("%d\n",Sub(ai,bi));

     


    }

    return 0;

}


还有一种形式,条件编译:

#ifdef  PI

#define PI 3.14

#else

#define PIVATE 6.28

#endif


#ifndef  PI

#define PI 6.28

#else

#define PIVATE 3.14

#endif


#if 568

#define kScre 568

#else

#define kScre 968j

#endif


//条件编译:

        //作用:按不同的条件。编译不同的代码;

       /* 第一种形式:

           #ifdef

              代码段1

              else

              代码段2

               endif*/











版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言中预处理功能之宏定义

宏定义   宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译   1. 不带参数的宏定义:   宏定义又称为宏代换、宏替换,简称“宏”。   格式: #d...
  • ccj2020
  • ccj2020
  • 2012年07月12日 12:53
  • 2515

sping IOC 和 AOP

IOC 控制反转模式(也称作依赖性注入)的基本概念是:不创建对象,但是描述它们的创建方式。在代码中不直接与对象和服务建立连接,但在配置文件中描述哪一个组件需要哪一个服务。容器(在spring框架中是I...
  • aixinde
  • aixinde
  • 2016年10月18日 21:49
  • 96

c++中pragma预编译指令简介

在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的...
  • luckywqf
  • luckywqf
  • 2014年02月14日 23:39
  • 706

Unity3D 多平台_预编译相关宏定义

API地址:http://docs.unity3d.com/Documentation/Manual/PlatformDependentCompilation.html 平台定义 UNIT...
  • goodai007
  • goodai007
  • 2015年05月22日 16:13
  • 3606

C/C++预编译指令整理收藏

在C/C++语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预...
  • wangxueji45
  • wangxueji45
  • 2014年12月05日 20:29
  • 540

C++学习笔记(初级篇)——常用的预编译指令

1.#include 指令 #include指令用来将一个文件嵌入到当前位置,通过这种方式可以实现多个源文件共享同一个文件,当然,我们一般用#include来嵌入一个头文件,以实现对声明在其中的变量或...
  • Dr_Neo
  • Dr_Neo
  • 2015年12月11日 11:37
  • 1092

ios 常用预编译指令

预编译指令
  • yf_forever
  • yf_forever
  • 2017年02月15日 16:10
  • 165

Unity3D通过预编译指令实现分平台编译(翻译)

依赖于平台的编译 Unity的这一功能被命名为“依赖于平台的编译”。这包含了一些预编译处理指令,让你可以专门的针对不同的平台分开编译和执行一段代码。 此外,你可以在编辑器下执行一些代码用于...
  • qq_bingfeng_8
  • qq_bingfeng_8
  • 2016年06月06日 13:44
  • 903

学习一:前言也可以称作前戏

     Tapestry之前的概念,怎么建新工程,关于一些基础,就不说了,我是看的英文,觉得有些东西还不错,就直接照我的理解搞过来了。理解难免有偏差。   这里涉及两个页面 start.tml & ...
  • memoordit
  • memoordit
  • 2008年07月09日 15:00
  • 513

Verilog HDL宏定义define

HDL宏定义define 宏定义 `define   用一个指定的标识符(即名字)来代表一个字符串,它的一般形式为:   `define 标识符(宏名) 字符串(宏内容)   如:`...
  • yuan1164345228
  • yuan1164345228
  • 2014年04月17日 09:25
  • 1551
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:预编译指令,也称作宏定义
举报原因:
原因补充:

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