gpt4 book ai didi

c++ - 可以在函数名上使用#ifndef 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 06:52:56 25 4
gpt4 key购买 nike

<分区>

我正在使用 MicroPython他们的头文件使用了大量的

#ifndef function_name
void function_name(const char *str, size_t len);
#endif

同时使用在线 C 和 C++ 编译器,我尝试使用以下代码在 C++ 中对此进行测试

#include <iostream>
using namespace std;

void func();

#ifndef func
int a = 5;
#else
int a = 3;
#endif

int main()
{
cout << "a = " << a << endl;
}

在 C 中

#include <stdio.h>

void func();


#ifndef func
int a = 5;
#else
int a = 3;
#endif


int main()
{
printf("Hello World");
printf("a = %d\n", a);
return 0;
}

两次,我都得到了 5,这意味着在函数名称上使用 #ifndef 不起作用。

问题

是否有一些特殊的编译器标志可以启用此功能,或者它们是否存在错误?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com