c-preprocessor 相关问题

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

是否存在C#预处理工具?

有没有人知道一个实用程序来预处理C#源文件而不编译它,就像在GCC中使用-E标志一样?我尝试使用GCC - 它成功处理#if指令,但......

回答 5 投票 6

GCC选项-save-temps头文件后的数字

当我使用选项-save-temps在gcc上编译代码时,存储预处理输出的结果filename.i包含如下行:#44“/usr/include/stdio.h”3 4 struct _IO_FILE;其中44是......

回答 1 投票 0

如何在宏之后需要分号

所以我正在编写一个库,必须使用-pedantic -ansi -std = c ++ 98 -Werror和-Weverything for clang和-Wall -Wextra为gcc构建,我有这个宏TESTSUITE(X)的目的是用过的 ...

回答 2 投票 3

目标C中的预处理器#if misevaluating?

我有代码说(字面意思):#define BUILD_PLATFORM ios #if BUILD_PLATFORM == macos #import #elif BUILD_PLATFORM == ios #import #endif但是当我......

回答 2 投票 -1

@interface中带##的宏,是什么意思?

它做了什么,特别是##? #define CUSTOM_ARRAY_INTERFACE(classname)\ @interface classname ## Array:ConcreteMutableArray \ - (void)add:(classname *)obj; \ - (classname *)get:(int)index; \ @ ...

回答 2 投票 5

可以轻松检测__VA_OPT__支持?

在C ++ 20中,预处理器支持__VA_OPT__,作为在参数数量大于零时可选地扩展可变参数宏中的标记的方法。 (这消除了对## __ VA_ARGS__的需求......

回答 3 投票 21

GCC预编译宏##,与另一个宏[重复]的标记连接

正如你可以看到连接一个令牌工作,一个令牌是另一个宏工作,但当一个令牌是一个宏它似乎不起作用? longNameForaFunction_one(){return 1;} ...

回答 1 投票 -1

C中的命名空间

有没有办法(ab)使用C预处理器来模拟C中的命名空间?我正在考虑以下几点:#define NAMESPACE name_of_ns some_function(){some_other_function(); } 这个 ...

回答 8 投票 49

C预处理器宏可以生成函数吗?

是否可以编写一个宏,该宏从该调用生成WATCH(l1 = g1 + g2 * g3)此代码? TRACE(G1); TRACE(G2); TRACE(G3); L1 = G1 + G2 * G3; TRACE(L1);我不确定这是否可行,如果是的话......

回答 4 投票 -3

由于逗号[重复],采用NSString stringWithFormat的预处理器宏失败

假设我有一个像这样的宏#define A(x)NSLog(@“%@”,x)我怎样才能调用它并在宏参数中格式化字符串,就像这样A([NSString stringWithFormat:@“随机字符串带数字%d“,......

回答 1 投票 1

##预处理程序运算符和变量的值

我已经搜索过,似乎无法使用##预处理器运算符在C中执行此操作。我想使用变量值并创建一个像MY_FUNC_3这样的函数名称我知道如何使用'#define ...

回答 2 投票 0

C ++:忽略声明

我正在使用C ++预处理器宏来选择性地忽略一些代码块以用于测试目的,例如#ifdef __SAFE #define note #define ensure(X)if(X){} else #else #define note while(...

回答 1 投票 1

致命错误:addFunc.h:没有这样的文件或目录

我已经创建了一个Makefile来运行shell脚本中的C程序。但是我得到了错误致命错误:addFunc.h:在mainProg.c页面和addFunc.c中没有这样的文件或目录。我尽力解决这个问题。 。

回答 2 投票 0

将预处理器宏定义为宏定义行

假设我有以下宏定义(包括行号):41 #define MACRO1。 。 52 #define MACRO2如何定义MACRO1,以便在编译时将其解析为...

回答 1 投票 1

什么是C宏有用?

我已经写了一点C,我可以很好地阅读它以大致了解它在做什么,但每次我遇到一个宏它都完全抛弃了我。我最终不得不......

回答 18 投票 71

自动创建已定义对象的向量?

假设我有一个在c ++中创建类成员的宏。有没有办法修改下面的例子来自动创建NumbersILike :: nums?假设创建的对象大小不同。 #...

回答 1 投票 1

使用offset获取宏值的子集

我有一个列表定义为预处理器值#define LIST 0,1,2,3,4,5,6,7,8,9。我想写一个获取索引0或1的宏并计算一个子集对于索引0来说LIST ...

回答 1 投票 3

如何以编程方式将整数映射到const字符串?

我有一堆错误代码(0,1,10,11,20,30,40,...),我需要映射到相应的错误消息。由于错误代码不能方便地用作数组中的indeces(它会...

回答 1 投票 4

C中struct的函数指针

我试图使用结构在C中实现类似类的想法。我的测试代码:#include typedef struct test_struct {int data; void(* func)(struct test_struct *); } test_t; ...

回答 2 投票 0

G ++忽略忽略_Pragma诊断

我试图在从宏扩展的代码中禁用g ++警告。根据我的理解,_Pragma应该遵循宏的用法,这不应该在用g ++编译时触发Wparentheses:#...

回答 2 投票 0

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