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