cost 301 ms
C++ 序數擴展宏

[英]C++ Macro expanding in ordinal numbers

我有一個代碼可以在各種平台上編譯,這些平台具有不同的功能打開或關閉(每個由一個特定的定義表示),我正在摸索如何執行以下 switch (int) 語句來保持“case (number):”有序且連續。 每個 case 代碼塊都是 10 行左右的塊,我想這是無關緊要的,但是完美的解決方案是找到一種發出 ...

Function或宏定義使用哪一個

[英]Function or macro definition which one to use

我有一些經常使用的宏所以我在想在我的情況下使用 function 還是使用宏定義會更好? 我使用的宏代碼示例: 根據上面的代碼,使用什么會更好? 繼續使用宏定義還是遷移到 function? ...

將字符串添加到 C 預處理器列表中的每個元素?

[英]Prepend/append string to each element in C preprocessor list?

最終,我想要的是:首先,有一個聲明為 C 預處理器宏的變量名列表; 比如說,在test_cpp.c中:#define VARLIST \ var_one, \ var_two, \ var_three, \ var_four 這些最終將成為代碼中的實際變量名——但是,當然,預處理 ...

這個 C++ 定義宏是做什么的?

[英]What does this C++ define macro do?

這個定義宏有什么作用? 我假設這會將給定的字符串打印到標准 output,但它什么也沒有打印出來。 我錯了嗎? ...

BOOST_PP_SEQ_FOR_EACH 無法按預期展開

[英]BOOST_PP_SEQ_FOR_EACH cannot expand as expected

代碼如下或在godbolt上。 BOOST_PP_SEQ_FOR_EACH(macro, data, seq)將擴展為 我想出了這個 APPLY_MACRO 作為BOOST_PP_SEQ_FOR_EACH中的“ macro ”,並使用真正的宏(例如PARAM_TYPE和PARAMS_TYPE_EN ...

定義宏中的兩個 __pragma 是什么意思?

[英]what does two __pragma inside a define macro means?

我試圖理解在一個定義宏中有兩個 __pragma 運算符的一行代碼: 我知道 pragma 可以在 c99 標准的宏中使用。 但我只知道這里給出的Pragma in define macro的簡單用例任何人都可以解釋這個的目的是什么以及為什么我們有雙 __pragma 運算符由定義宏內部的后綴“0 ...

如何檢查條件編譯的常量值?

[英]How to check for the value of a constant for conditional compilation?

我有一個常量#define 'ed 是這樣的: 我想稍后根據FRUIT被#define編輯的內容有條件地編譯代碼。 我嘗試了以下方法,但它似乎總是評估為真。 ...

C宏擴展問題如何解決

[英]How to fix the macro expansion problem in C

如何解決下面的宏擴展問題? 宏正在如下展開並導致錯誤。 我正在使用 MSVC 2019 我什至嘗試使用如下的輔助宏,但仍然出現相同的錯誤。 期望擴展:ADD_VAL(GET_VAL); --> ADD_VAL(3, 2); --> 3 + 2 ...

以下 C 宏示例如何編譯?

[英]How does the below C macro example compile?

下面的代碼沒有給出正確的 output。 而下面的代碼給出了正確的(最近的)output。 這些代碼究竟有何不同? 為什么會這樣? 我無法理解上述兩種代碼如何給出不同答案之間的區別。 ...

更改 C/C++ 預處理器優先級

[英]Change C/C++ Preprocessor priority

我想更改預處理器定義過程的優先級。 請參閱以下代碼: 代碼運行,但“f”宏將始終在“$”宏之前處理。 當前output: 預計 output: 謝謝。 ...

C 預處理器 #if 字符串

[英]C Preprocessor #if string

有沒有一種方法可以像這樣使用#define選擇性地包含代碼? 我覺得這應該有效,但沒有。 有辦法繞過它嗎? 有關信息,我想選擇在 STM32 上使用哪個定時器。 我有很多地方有像這樣的代碼 但是在其他地方我需要不同的代碼行。 ...

如何遍歷變量名?

[英]How to loop over variable names?

我需要做一些分配如下。 在 struct REGS 中,tile 按名稱排列; 而在外面,瓷磚按索引排列。#include <stdio.h> typedef struct TILE {} TILE; typedef struct REGS { TILE tile00, t ...

C++中預處理命令的執行過程

[英]The execution process of preprocessing commands in C++

最近我正在學習元編程中的一些高級編程技巧,我在理解 C++ 中預處理命令的執行時遇到了一些問題。原來我假設預處理命令是按照它們在 C++ 代碼中的順序執行的。 但是,給定以下代碼,它不會產生預期的結果。 我認為它會首先執行替換 生產 然后執行 生產 但是,當我編譯這段代碼並在終端中運行它時,我得到 ...

C++ vs C宏字符串拼接區別

[英]C++ vs C Macro string concatenation difference

我嘗試編寫如下宏:取自鏈接,我將相同的規則應用於我的軟件,但沒有成功。 我注意到 C 和 C++ 有一些不同,但我不明白為什么,宏是預處理器工作。 我還注意到將來自枚舉器的值傳遞給宏的一些差異。 用於在線嘗試的報告鏈接ideone 上演示的代碼鏈接允許選擇不同的語言 C 可以,但更改為 C++ 它不 ...

在 cmake 中為 FetchContent 添加預處理器定義

[英]Add preprocessor definitions to FetchContent in cmake

我正在使用 CMake 編譯我的 C++ 項目並且我有依賴項,它是使用FetchContent下載的,但默認情況下,該依賴項使用異常,在我的項目中被禁用,所以我必須將預處理器定義傳遞給這個依賴項以禁用他們。 這就是我所做的: 看起來 CMake 將add_compile_definitions傳遞到 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM