macros

    2熱度

    1回答

    我不明白如何獲得完整的宏觀擴展。 有了這個代碼 (when true (when true true)) 我想獲得完整的宏擴展 (if true (do (if true (do true))) 但我不能 我明白macroexpansion-1將解決擴展的第一級: (macroexpand-1 '(when true (when true true))) (if true (do (w

    4熱度

    1回答

    我試圖寫一個宏來計算各種函數執行的時間。 macro_rules! timer { ($($x: expr),+) => { let now = SystemTime::now(); let val = $x; match now.elapsed() { Ok(elapsed) => { // This should i

    1熱度

    1回答

    所以我正在製作一個基於simplecs的ECS。 我有一個生成一個實體結構,看起來像這樣一個宏: ($($name:ident : $component:ty,)*) => { /// A collection of pointers to components #[derive(Clone, Debug, Deserialize, PartialEq)] pu

    1熱度

    1回答

    有沒有辦法找出C++代碼中的預處理程序,例如: NDebug,NOMAXMIN等? 我可以這樣做 #ifdef _DEBUG std::cout << "in debug mode"; #else std::cout << "in release mode"; #endif ,但有這麼多的預處理器和同事還可以自己定義。 我正在使用Microsoft Visual Stu

    1熱度

    1回答

    我嘗試創建一個宏來定義X,但08和09被編譯器誤解爲雜散運算符。爲什麼這些失敗時,其他人工作正常?與一開始0 #define LIST_TEST_X \ X(A,01)\ X(B,02)\ X(C,03)\ X(D,04)\ X(E,05)\ X(F,06)\ X(G,07)\ X(H,08)\ X(I,09

    2熱度

    3回答

    我在分析代碼時碰到下面的宏。 #define __COMMAND_HANDLER(name, extra ...) int name(struct command_invocation *cmd, ## extra) name作爲參數傳遞給__COMMAND_HANDLER功能但沒有此功能的代碼其他地方的定義。定義了cmd參數的類型(command_invocation)。基本上我無法理解這個

    0熱度

    3回答

    這是我在這個社區的第一篇文章,所以請耐心等待。 有沒有一種方法可以在宏本身中互斥保護宏。 例如, #define FUNCTION_ \ doSomething() 基本上,我希望通過自己做這樣的事情 #define FUNCTION_ \ mutex.lock \ doSomething() \ mutex.unlock 如需進一步信息,宏都在頭文件中聲明,(無名稱空間或類),它

    0熱度

    1回答

    我已經定義了一個宏,如下所示。 #define NAME_OUT(name_in) PRE_##name_in##_POST 我想通過使用我已定義在表/數組中的名稱來遍歷此宏。是否有可能做這樣的事情?如果是的話,我會如何做到這一點? 注意:上述例子是僅用於說明目的:)

    0熱度

    1回答

    我有一個調用check_function_exists()來檢測多個數學函數的CMake宏。 通過下面的輸出,似乎check_function_exists()只被稱爲第一次; macro(nco_check_funcs func def) message(${ARGV0}) check_function_exists(${ARGV0} have_result) message(${have

    1熱度

    1回答

    我有一個Jinja宏定義如下。 globalmacros.html {% macro SUINavMenu(leftlist=[],logo="images/Logo_WEB_450_250.png") %} <div class="ui pointing secondary menu"> <div class="item"> <img src="{{ static({{ l