当前位置:网站首页>【 genius_platform software platform development 】 : seventy-six vs the preprocessor definitions written cow force!!!!!!!!!!(in the other groups conding personnel told so cow force configuration to can
【 genius_platform software platform development 】 : seventy-six vs the preprocessor definitions written cow force!!!!!!!!!!(in the other groups conding personnel told so cow force configuration to can
2022-08-05 02:48:00 【随意的风】
vsAwesome way to write a preprocessor definition!!!!
1.问题概述
- Today, the small partners in the group are debugging the algorithm interface,Always crashes at the algorithm interface,发现vs提示信息为vector too long…The result algorithm guy told to set the precompiler definition
_HAS_ITERATOR_DEBUGGING=0Cancel the macro definition.我擦,这是什么骚操作,It's okay to play like this,It looks like there is a problem,As a result, the definition of the macro cannot be cancelled in order to prove that this is the case,It is hereby verified;
2. main.cpp源代码(vs2017环境,其他vs环境都可以):
#ifdef _HAS_ITERATOR_DEBUGGING
#define x_1 1
#pragma message ("#define x_1 1")
#endif
#ifdef _HAS_ITERATOR_DEBUGGING
#define y_1 1
#pragma message ("#define y_1 1")
#endif
#include <iostream>
int main()
{
//int x = 0;
#ifdef _HAS_ITERATOR_DEBUGGING
{
printf("#ifdef _HAS_ITERATOR_DEBUGGING\n");
printf("x_z = %d\n", _HAS_ITERATOR_DEBUGGING);
printf("x_1 = %d\n", x_1);
printf("y_1 = %d\n", y_1);
}
#endif
if (_HAS_ITERATOR_DEBUGGING == 0)
{
printf("if (_HAS_ITERATOR_DEBUGGING == 0)\n");
printf("x_z = %d\n", _HAS_ITERATOR_DEBUGGING);
printf("x_1 = %d\n", x_1);
printf("y_1 = %d\n", y_1);
}
if (_HAS_ITERATOR_DEBUGGING == 1)
{
printf("if (_HAS_ITERATOR_DEBUGGING == 1)\n");
printf("x_z = %d\n", _HAS_ITERATOR_DEBUGGING);
printf("x_1 = %d\n", x_1);
printf("y_1 = %d\n", y_1);
}
if (_HAS_ITERATOR_DEBUGGING == 2)
{
printf("if (_HAS_ITERATOR_DEBUGGING == 2)\n");
printf("x_z = %d\n", _HAS_ITERATOR_DEBUGGING);
printf("x_1 = %d\n", x_1);
printf("y_1 = %d\n", y_1);
}
// printf("%d\n", vtkBooleanMacro(x,=,1));
std::cout << "Hello World!\n";
getchar();
}
3. The preprocessor is defined as_HAS_ITERATOR_DEBUGGING=0
3.1 See recompilelog
- This macro is predefined by the editor
_HAS_ITERATOR_DEBUGGING 为 0,但是该_HAS_ITERATOR_DEBUGGINGstill belong to the predefined state;
3.2 查看运行结果
#ifdef _HAS_ITERATOR_DEBUGGINGJudgments are predefined,或者使用if(_HAS_ITERATOR_DEBUGGING == 0/1)This kind of shit is rare,Can't get it to cancel_HAS_ITERATOR_DEBUGGING的定义
4. The preprocessor is defined as_HAS_ITERATOR_DEBUGGING=1

4.1 See recompilelog
- This macro is predefined by the editor
_HAS_ITERATOR_DEBUGGING 为 1,但是该_HAS_ITERATOR_DEBUGGINGstill belong to the predefined state;
4.1 查看运行结果

5. The preprocessor is defined as_HAS_ITERATOR_DEBUGGING=2

5.1 See recompilelog
- 编译阶段直接报错,如图;


6. 总结
- As long as it is defined in the preprocessor interface
_HAS_ITERATOR_DEBUGGING宏,That is, the editor will define the macro during the editing phase.This macro will generally not be executed again=赋值操作(Must be a cognitive error,I want to cancel the definition of this macro); - If you really want to play tricks、A mess of abnormal settings,Then it can only be set to 0/1(This is rarely used);And it can only be used in the program
if(_HAS_ITERATOR_DEBUGGING == xxxx)Judgment in other forms,#ifdef _HAS_ITERATOR_DEBUGGINGalways valid,Predefined macros; - I want to cancel the setting of a macro,配置成
_HAS_ITERATOR_DEBUGGING=0It does not work to cancel the macro definition;Really want to cancel or remove the configuration of this macro;
边栏推荐
- sql server 安装提示用户名不存在
- Multithreading (2)
- 1484. 按日期分组销售产品
- Pisanix v0.2.0 released | Added support for dynamic read-write separation
- word分栏小记
- Solve the problem of port occupancy Port xxxx was already in use
- 2022-08-04:输入:去重数组arr,里面的数只包含0~9。limit,一个数字。 返回:要求比limit小的情况下,能够用arr拼出来的最大数字。 来自字节。
- DAY22: sqli-labs shooting range clearance wp (Less01~~Less20)
- Matlab drawing 3
- ARM Mailbox
猜你喜欢

dmp (dump) dump file

The 2022 EdgeX China Challenge will be grandly opened on August 3

The Tanabata copywriting you want has been sorted out for you!

2022-08-04: Input: deduplicated array arr, the numbers in it only contain 0~9.limit, a number.Return: The maximum number that can be spelled out with arr if the requirement is smaller than limit.from

DAY23: Command Execution & Code Execution Vulnerability

Cloud Native (32) | Introduction to Platform Storage System in Kubernetes

Regular expression to match a certain string in the middle

腾讯云【Hiflow】新时代自动化工具

lua learning

Ant Sword Advanced Module Development
随机推荐
QT MV\MVC结构
UOS系统下ksql应用缺少动态库”libtinfo.so.5“问题
How to solve the error cannot update secondary snapshot during a parallel operation when the PostgreSQL database uses navicat to open the table structure?
627. 变更性别
C language diary 9 3 kinds of statements of if
程序员的七夕浪漫时刻
leetcode 15
How OpenGL works
word分栏小记
In 2022, you still can't "low code"?Data science can also play with Low-Code!
甘特图来啦,项目管理神器,模板直接用
Multithreading (2)
Industry case | insurance companies of the world's top 500 construction standards can be used to drive the business analysis system
解决端口占用问题 Port xxxx was already in use
torch.roll()
627. Change of gender
Syntax basics (variables, input and output, expressions and sequential statements)
继承关系下构造方法的访问特点
汉字转拼音
使用二维码传输文件的小工具 - QFileTrans 1.2.0.1