关于uniapp条件编译ifdef, ifndef, endif

Posted 随笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于uniapp条件编译ifdef, ifndef, endif相关的知识,希望对你有一定的参考价值。

条件编译

 

 

 标识含义

 

 示例

 

 

参照网址: https://uniapp.dcloud.net.cn/tutorial/platform.html

预处理三剑客(宏定义,文件包含和条件编译)之第三种——条件编译。 #ifndef #ifdef

预处理三剑客(宏定义,文件包含和条件编译)之第三种——条件编译。 #ifndef #ifdef

用法

    #ifdef  标识符                          #ifndef  标识符

    程序段1                                       程序段1

    #else                                         #else

    程序段2                                       程序段2

    #endif                                      #endif
项目内容
目的1 头文件使用,防止重复调用该头文件
-2 测试使用,省去注释的麻烦(定义了就不再定义)
-3 不同场景的选择(如果定义了是a场景,如果没有就是b场景,比如求面积,边长l矩形; 圆形半径r
制定程序|-main.cpp
-|-pracifdef.cpp
-|-pracifdef.h

Main

/*
 * main.cpp
 *
 *  Created on: 2021年5月19日
 *      Author: c00525771
 */
 
#include "pracifdef.h"
 
#include <iostream>
#define HANDL_
//#define ADD_
 
using namespace std;
 
int main() {
#ifdef HANDL_ //here for (2) test selection
cout << "(2) Hello World, I used ifdef cmds!!!" << endl; // prints !!!Hello World!!!
#endif
pracifdef();
 
int a = 10, b = 100, c = 0;
#ifdef ADD_
c = a + b;
cout << "(3) ifdef ADD_: c= " << c << endl;
#else
c = a - b;
cout << "(3) ifndef ADD_: c= " << c << endl;
#endif
 
return 0;
}

Pracifdef.cpp



 * pracifdef.cpp
 *
 *  Created on: 2021519*      Author: c00525771
 */
#include "pracifdef.h"
#include <iostream>
 
using namespace std;
 
pracifdef::pracifdef() {
// TODO Auto-generated constructor stub
   std::cout <<"I am another program"<< std::endl;
}
 
pracifdef::~pracifdef() {
// TODO Auto-generated destructor stub
}
 

Pracifdef.h



/*
 * pracifdef.h
 *
 *  Created on: 2021年5月19日
 *      Author: c00525771
 */
 
#ifndef PRACIFDEF_H_ //here for (1) avoid repeat call
#define PRACIFDEF_H_
 
class pracifdef {
public:
pracifdef();
virtual ~pracifdef();
};
 
#endif /* PRACIFDEF_H_ */

测试

打开场景:

(2) Hello World, I used ifdef cmds!!!
I am another program
(3) ifdef ADD_: c= 110

关闭场景: //#define ADD_

(2) Hello World, I used ifdef cmds!!!
I am another program
(3) ifndef ADD_: c= -90

以上是关于关于uniapp条件编译ifdef, ifndef, endif的主要内容,如果未能解决你的问题,请参考以下文章

预处理三剑客(宏定义,文件包含和条件编译)之第三种——条件编译。 #ifndef #ifdef

#if,#ifdef和#ifndef三者之间的区别

C语言 (条件编译#ifdef#ifndef) (#if 常量,#if 1,#if 0)的用法

C++中#if #ifdef 的作用

makefile中ifeq,ifneq,ifdef和ifndef的区别与用法

关于编译指令