当前位置:网站首页>【 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;
边栏推荐
- leetcode 15
- Matlab map with color representation module value size arrow
- Use @Mapper to query the partition status of oracle and report an error
- C language diary 9 3 kinds of statements of if
- C student management system head to add a student node
- C student management system Find student nodes based on student ID
- 1873. 计算特殊奖金
- 腾讯云【Hiflow】新时代自动化工具
- 线上MySQL的自增id用尽怎么办?
- The 2022 EdgeX China Challenge will be grandly opened on August 3
猜你喜欢

A small tool to transfer files using QR code - QFileTrans 1.2.0.1

你要的七夕文案,已为您整理好!

select 标签自定义样式

DAY23: Command Execution & Code Execution Vulnerability

dmp(dump)转储文件

Matlab画图3

【解密】OpenSea免费创造的NFT都没上链竟能出现在我的钱包里?

Gantt chart is here, project management artifact, template is used directly

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

mysql can't Execute, please solve it
随机推荐
PostgreSQL数据库 用navicat 打开表结构的时候报错 cannot update secondarysnapshot during a parallel operation 怎么解决?
行业案例|世界 500 强险企如何建设指标驱动的经营分析系统
A small tool to transfer files using QR code - QFileTrans 1.2.0.1
协作D2D局部模型聚合的半分散联合学习
word分栏小记
dmp(dump)转储文件
你要的七夕文案,已为您整理好!
C student management system Find student nodes based on student ID
Use @Mapper to query the partition status of oracle and report an error
How to solve the error cannot update secondary snapshot during a parallel operation when the PostgreSQL database uses navicat to open the table structure?
[Fortune-telling-60]: "The Soldier, the Tricky Way"-2-Interpretation of Sun Tzu's Art of War
1484. 按日期分组销售产品
QStyle platform style
select tag custom style
甘特图来啦,项目管理神器,模板直接用
01 [Foreword Basic Use Core Concepts]
J9 Digital Currency: What is the creator economy of web3?
人人都在说的数据中台,你需要关注的核心特点是什么?
腾讯云【Hiflow】新时代自动化工具
Images using redis cache Linux master-slave synchronization server hard drive full of moved to the new directory which points to be modified