当前位置:网站首页>【 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;
边栏推荐
- PostgreSQL数据库 用navicat 打开表结构的时候报错 cannot update secondarysnapshot during a parallel operation 怎么解决?
- 人人都在说的数据中台,你需要关注的核心特点是什么?
- [In-depth study of 4G/5G/6G topic-51]: URLLC-16-"3GPP URLLC related protocols, specifications, and technical principles in-depth interpretation"-11-High reliability technology-2-Link adaptive enhancem
- torch.roll()
- QT MV\MVC结构
- Solve the problem of port occupancy Port xxxx was already in use
- Images using redis cache Linux master-slave synchronization server hard drive full of moved to the new directory which points to be modified
- A small tool to transfer files using QR code - QFileTrans 1.2.0.1
- private package
- 剑指offer专项突击版第20天
猜你喜欢
随机推荐
C language implements a simple number guessing game
C student management system Insert the student node at the specified location
View handler stepping record
Countdown to 2 days|Cloud native Meetup Guangzhou Station, waiting for you!
Chinese characters to Pinyin
1484. 按日期分组销售产品
In 2022, you still can't "low code"?Data science can also play with Low-Code!
Matlab画图3
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
private封装
【Daily Training】1403. Minimum Subsequence in Non-Increasing Order
Cloud Native (32) | Introduction to Platform Storage System in Kubernetes
DAY22: sqli-labs shooting range clearance wp (Less01~~Less20)
VSCode Change Default Terminal how to modify the Default Terminal VSCode
QT语言文件制作
甘特图来啦,项目管理神器,模板直接用
dmp (dump) dump file
北斗三号短报文终端露天矿山高边坡监测方案
Quickly learn chess from zero to one
LeetCode uses the minimum cost to climb the stairs----dp problem


![[C language] Detailed explanation of stacks and queues (define, destroy, and data operations)](/img/7b/8b3f1e4f0000aa34fc1f8fff485765.png)






