c-preprocessor

    0热度

    1回答

    我试图填充在与结构字段的偏移阵列的阵列,我试图做下列 #define EXPAND_(X) X #define TYPE_ARG_N(_0, _1, _2, N, ...) N #define TYPE_OFFSET_1(S, _0) { sizeof(S), { offsetof(S, _0) } } #define TYPE_OFFSET_2(S, _0, _1) { sizeof(S)

    4热度

    1回答

    通常我使用一个字符串大小的定义,但是当我使用scanf()时,我想防止读取太多字符的函数(并为空终止符保留空间)。我想知道我是否可以使用我的定义来做到这一点,而不是硬编码的幻数...... #include <stdio.h> #define MAXLEN 4 int main(void) { char a[MAXLEN]; scanf("%3s", a); // Ca

    -1热度

    1回答

    我正在阅读另一篇文章,但我无法让我的程序工作。我需要用一个新的常量使用C预处理器定义的两个常量。这是我的代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #define DIM 5000 #define ARCHIVOMATRIZ "matrizDiagonalDominante.txt" #define AR

    1热度

    2回答

    问题是,我不太明白以下定义的作用。有人可以向我解释吗? #define Vpc3MemSet_(_pToVpc3Memory, _bValue, _wLength)\ Vpc3MemSet(_pToVpc3Memory, _bValue, _wLength)

    1热度

    1回答

    以下代码片段中的#是什么意思?我不是指定义前的#或用于预处理器指令的#。 // Quote a given token stream to turn it into a string. #define DEV_QUOTED_HELPER(s) #s #define DEV_QUOTED(s) DEV_QUOTED_HELPER(s) 这个问题不同于“字串 - 它是如何工作的?”因为有人有这

    0热度

    1回答

    我已经看过一个带参数的宏,但这是相当新的。 我无法理解它会返回什么以及它如何工作?

    0热度

    1回答

    在代码中间有一个C语言语句。我不知道为什么它在那里以及编译器如何不返回错误。是否用于C绑定?这是否意味着这个模块可以被C程序使用,反之亦然? USE LISTS USE LINKEDLIST_ROUTINES #include "macros.h" IMPLICIT NONE PRIVATE

    0热度

    1回答

    我们希望使用某种预处理器指令在C中编写与排序无关的代码。我们能否定义一个预处理器指令来帮助我们在编译时检查机器的字节顺序?我们想要下面的示例代码。任何帮助,将不胜感激。 #if(some conditions) #define LITTLE_ENDIAN 1 #else #define LITTLE_ENDIAN 0 #endif 我知道有几种解决方案,但这些解决方案都不符合我的要求。

    2热度

    1回答

    我想确定何时激活一些Altivec代码路径。当我检查-qaltivec生效时的预处理器宏时,我看不到相应的预处理器宏(请参见下文)。 我们担心或恐惧的是需要-qaltivec和-DALTIVEC=1或类似的。用户几乎从不阅读手册,因此会为该平台生成无尽的问题和错误报告。如果RTFM能够发挥作用,那么在过去的50年左右就会发生。 当-qaltivec有效时,XL/C信号Altivec是否有效?如果不

    0热度

    1回答

    我想了解一些C++代码,这段代码让我感到困惑。 #ifndef NDEBUG #define ukd_assert(expr) \ ((void)((expr) ? 0 : (Assert::failedAssert(), 0))) #else // NDEBUG #define INSTANTIATE_ASSERT(fp) #define ukd_assert(expr) ((voi