c-preprocessor 相关问题

C和C ++计算机编程语言的宏预处理步骤。此标记还可用于有关源自或具有相同功能的其他编译器/语言的问题,例如Objective-C或C#中的#directives。

[仅在相关库可用时才包含逻辑吗?

我想将pthread的逻辑添加到我为C编写的一个小的概要分析库中。但是,如果pthread可用,我只想执行与pthread相关的逻辑。有没有编程的方法来...

回答 2 投票 -1

正在#ifdef内部更新现有变量值?

我是C ++的新手,我正在尝试在以下代码块中更新BOOL变量:#define REMOVE_REPLACED_BY_SUCESSOR 1 bool rm_by_succ = 0; #ifdef REMOVE_REPLACED_BY_SUCESSOR ...

回答 2 投票 0

这是什么定义声明?

我在应用程序中看到了此代码,但是我不认识语法。我必须在C ++中实现等效,但是此代码在C中。如何使它在C ++应用程序中运行?这种名字叫什么...

回答 6 投票 0

为什么MSVC预处理程序将令牌的连接方式与GCC和Clang不同?

最近,我遇到了MSVC的问题。这是一个最小的例子。 #define NUMBERSIGNS(a,b)a ## b #define CONCAT(a,b)NUMBERSIGNS(a,b)#define AA #define BB CONCAT(B,CONCAT(A,AB))...

回答 1 投票 3

使用define宏在C中初始化结构对象

#define DEFAULT_XXX(NUM_1,NUM_2)\ {.data_time = NUM _1,\ .data = NUM _2,}; typedef struct DEFAULT_XXX_STRUCT {int * ...

回答 2 投票 0

“ #define X X”是什么意思?

在Linux头文件epoll.h中,我找到了以下代码:枚举EPOLL_EVENTS {EPOLLIN = 0x001,#define EPOLLIN EPOLLIN ...} #define EPOLLIN EPOLLIN是什么意思?

回答 3 投票 5

如何“欺骗” C预处理器接受功能/变量等的任何部分作为标记?

首先,在mods将其标记为重复之前,请确保您已阅读完此问题。第二,请注意,我正在尝试修改别人编写的现有代码,所以...

回答 1 投票 -1

有没有办法使用sizeof函数和C中的指针来获取字符串的正确大小

int main(){char * s =“ hello world!”; printf(“%d \ n”,sizeof(s));我知道它将返回指针的大小。但是我想知道有什么方法可以使用...

回答 2 投票 0

MACROS-如何实现除法然后取整

对宏执行除法和四舍五入至较小数字的正确方法是什么?我正在尝试执行此操作:#define TOTAL_NUM_FFTS(int)NO_SAMPLES / FFT_SIZE,但我收到警告...

回答 3 投票 2

基于Eclipse和C的问题:#定义不在头文件之外

使用Eclipse IDE。问题是#defines没有从标题传递到c和h文件。不知道这是项目设置还是什么,但是Visual Studio IDE不会给我带来任何麻烦...

回答 3 投票 1

为什么我的C预处理程序会使用空格忽略这些宏?

我正在尝试构建WRF 4.2,但是由于宏没有被预处理程序扩展而遇到了一些错误。本质上,WRF是由csh脚本构建的,这些脚本先配置然后编译源代码。 ...

回答 1 投票 1

如何在源文件中检测Intel编译器?

我想在Linux上使用Intel当前的编译器。我有一个应该检测编译器的内联宏。它曾经与gcc和icc的早期版本一起使用。但是现在我得到了icc的extern内联。...

回答 1 投票 5

C中带有#define的未定义行为

我在C语言中有一个定义,看起来像这样#define ROW_SIZE ID_SIZE + USERNAME_SIZE + EMAIL_SIZE它的值为293。然后我执行uint32_t num_rows = pager-> file_length / ROW_SIZE; pager-> ...

回答 4 投票 -2

条件编译三文件项目

我有三个文件:main.c #include #include“ file3.h” #define PERMISSION int main(){#ifdef PERMISSION myfunction1(); #else myfunction2(); #endif // PERMISSION返回0; } ...

回答 2 投票 0

C中的条件预处理器宏扩展

我有一个宏,SOME_MACRO。这需要一个论点。 SOME_MACRO的定义:#define SOME_MACRO(arg)__SOME_MACRO(arg)如果arg为0,我还要__SOME_MACRO(arg)扩展为“ ABC”。如果arg为...

回答 1 投票 0

将变量args从宏传递到需要va_list的函数

#define exampleA(buf,args ...)\ exampleB(buf,## args); \} #endif在exampleB函数声明为exampleB(char * buf,...)的情况下工作。但是我需要将声明更改为...

回答 2 投票 0

当一行中只有一个#时,C ++预处理器会做什么-别无其他?

这是C ++的有效行吗?这是什么意思? #关于这一点:#//评论最近的编译器似乎忽略了它,没有错误也没有警告。它“什么都不做”吗?我有一个...

回答 1 投票 2

我正在为字符串编写一些函数,但是我对realloc有问题

我正在为字符串编写一些函数,而我在realloc上遇到问题。为什么会出现错误realloc():无效指针:0x000 ...这是我的字符串结构:typedef struct {int ...

回答 1 投票 0

为什么我不能检查是否在tdm-gcc编译器中包含了stdlib.h?

im在c中编写头文件,需要stdlib.h才能起作用。但是当我检查是否定义了_STDLIB_H时,预处理器说即使我包含了文件也没有。我已经尝试过了...

回答 2 投票 0

不使用以下字符的功能性C ++程序:';'。 '{','}','\'

这是去年在区域竞赛中提出的问题。基本上,您需要使用C ++编写一个简单的程序,该程序可以打印几种格式的字符串的结果(数字,运算符,数字),...

回答 1 投票 -2

© www.soinside.com 2019 - 2024. All rights reserved.