c-preprocessor 相关问题

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

在 c 函数中使用输入字符串和输入值定义宏

我想使用用户给定的输入字符串和值在函数内部定义一个预处理器。 #include 无效主要() { 字符 st[10]; 诠释; printf("请输入字符串:");...

回答 0 投票 0

这是一道关于C++宏的题,出乎意料的结果?

#include 使用命名空间标准; #define _VA_ARG_LIST2(t, a) t a #define _VA_ARG_LIST4(t, a, b, c) \ _VA_ARG_LIST2(t, a), _VA_ARG_LIST2(b, c) 诠释主要(){ 计算<<

回答 1 投票 0

避免在 C 宏中解释为八进制

在我正在处理的应用程序中,我们有一个宏将时钟时间转换为内部表示形式为短整数: #define CLOCK_TIME(hr, min) (s32)(((hr) * 60 + (min)) * 0x10000 / (24 * ...

回答 6 投票 0

为什么 gcc 11.3.0 将“a-”附加到依赖文件名?

在 gcc 11.3.0 下,当输入命令 gcc -M -MD sourcefile.c 时,会创建一个名为“a-sourcefile.d”的文件。但是,在 gcc 9.4.0 下,“a-”前缀不存在。 这是

回答 1 投票 0

在预处理器中检查 Windows Build 版本

Windows SDK 中的某些 DWMWINDOWATTRIBUTE 选项仅在某些 Windows 版本开始时可用,例如: DWMWA_BORDER_COLOR 从 Windows 11 开始支持此值 ...

回答 1 投票 0

为什么 gcc 将“a-”附加到依赖文件名?

在 gcc 11.3.0 下,当输入命令 gcc -M -MD sourcefile.c 时,会创建一个名为“a-sourcefile.d”的文件。但是,在 gcc 9.4.0 下,“a-”前缀不存在。 这是

回答 1 投票 0

C 预处理器 Stringify 命令行和代码内定义的区别

一个项目是否有能力编译代码,需要知道包含哪些代码,哪些不包含。这些功能全部隔离在单个文件中,其中的代码包含...

回答 0 投票 0

使用预处理器条件生成 C/C++ 变量名

我想根据编译时间常数有条件地生成一个变量名。可能还有其他方法可以做到这一点,但我想看看使用预处理器是否可行......

回答 1 投票 0

c 宏中的宏。怎么做[重复]

我有以下代码 #define LogError(...) fprintf(stderr, __VA_ARGS__) 我希望另一个 marco 只在调试模式下打印错误日志,所以我希望, #define DebugLogError(...) \ #

回答 1 投票 0

如何在 C++ 预处理器中解析由空格分隔的标记?

我正在做一些预处理器元编程,我需要一种在 C++ 预处理器中将 f(a b) 转换为 g(a,b) 的方法。由于 a 和 b 是 C++ 中的两个标记,因此似乎可以找到一种方法将它们分开。

回答 1 投票 0

宏声明的默认值

创建宏但没有赋值时,是否有默认值? #define MACRO(行尾)。 宏定义的语法为:#define 。即使我们不...

回答 1 投票 0

连接预处理器标记

如何编写宏 #define CONCATENATE(x) 以产生以下结果: 连接(整数); // 生产 --> int 连接(无符号整数); // 产生 --> unsignedint 连接(长...

回答 3 投票 0

实例特定的编译时代码生成

我想出了两种不同的方法来在 C 中实现通用算法和数据结构。我需要你的帮助来决定哪种更好。 我一直在两者之间权衡...

回答 0 投票 0

如果我的 main.cpp 包含一个头文件,而其 .cpp 包含这些库,我是否必须在我的 main.cpp 中包含这些库?

我正在学习 C++ 编程,我正在制作一个包含头文件(我们称之为 functions.h)的 main.cpp。现在,如果在 functions.cpp 中包含一些库,我是否必须包含...

回答 1 投票 0

你能用 C 和 C++ 定义 inlcude 预处理器吗?

我在玩#define 预处理器很有趣,注意到你可以重命名关键字和符号我已经能够重命名几乎所有符号和关键字,除了#include 我在玩 #define 预处理器,发现您可以重命名关键字和符号 我已经能够重命名几乎所有符号和关键字,除了 #include <iostream>。我可以不定义预处理器吗?如果可以的话,正确的方法是什么? 我尝试只定义#include和定义<iostream>但是那没有用。我在网上四处看了看,找不到任何答案,所以我决定在这里问,而不是继续挖掘

回答 0 投票 0

使用 char[4] 或 char[8] 作为常量 int?

我有这些小函数,它们接受一个小的 char 数组并将其重铸为 int 或 longlong: #define HASH4(x) (*((int*)x)) #define HASH8(x) (*((longlong*)x)) int aValue=HASH4("食物&...

回答 3 投票 0

在 rust 中设置编译时配置变量

tl;博士如何像在 C 预处理器中那样在 Rust 中使用“编译时设置变量”? 在 C 中,预处理器宏语言允许设置预处理器变量,这些变量可用于...

回答 0 投票 0

如何修复应该由 #ifdef 之间的预处理器指令排除的编译器错误?

我有一个程序可以在 MacOS 和 Linux 上编译。在我的 makefile 中,我定义了一个变量: # 苹果 ifeq ($(UNAME), 达尔文) 操作系统 = 苹果 #Linux 别的 操作系统 = Linux 万一 包括...

回答 2 投票 0

如何针对同一个前置程序变量编译C++?

在main.c ++中,我定义了几个预处理变量。#ifndef FIRST #define FIRST ".pathforoutputfiles" #endif #ifndef SECOND #define SECOND 0.0125 #endif #ifndef THIRD #define THIRD "......"。

回答 1 投票 0

在C语言中执行#if条件的其他方法。

我试图执行一个字符串变量 "str "中的条件。我试着把它放在一个宏定义里面,但它不工作。不像在"... "中直接定义条件。

回答 1 投票 0

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