stringification

    5熱度

    3回答

    我有這樣一個宏(不完全,但功能還是相當相當)GCC宏##連接符: #define STRUCTMEMBER(Member,Value) GlobalStructInstance. ## Member = Value ... STRUCTMEMBER(Item,1); 這工作完全在Visual C++,但gcc 3.4.5(MingGW)產生以下錯誤: pasting "." and "It

    2熱度

    5回答

    我抓住各種jquery對象放入數組,然後吐出爲HTML。 我想將jQuery對象轉換爲文本字符串,以便稍後可以將其吐出。 我使用這種技術目前: console.log($myObject.clone().wrap('<div></div>').html()); 然而,只出現被抓住我的對象的內容。 例如,如果$ myObject的是<h2>My Title</h2>以上僅返回「我的標題」(無H2

    7熱度

    4回答

    我有一個ç以下程序: #define f(g,g2) g##g2 main() { int var12=100; printf("%d",f(var,12)); } 當我運行只是它擴展了這個預處理器作爲 { int var12=100; printf("%d",var12); } 這就是爲什麼輸出爲100 燦有人告訴我預處理器如何/爲什麼擴展var##12 to var12

    2熱度

    3回答

    我試圖做一些概念上類似於這個,但似乎無法得到它的工作(錯誤顯示在最後)任何想法? #include <stdio.h> int main(int argc , char const *argv[]) { int abc_def_ghi = 42; #define SUFFIX ghi #define VAR(prefix) prefix##_def_##SUFF

    1熱度

    1回答

    我從一個供應商的工具一堆生成的函數被我定義。由於這些函數中的每一個函數的內部功能都完全相同,我想我可以使用宏來使我的生活更輕鬆。 這裏是有問題的警告: pasting "<function_name>" and "(" does not give a valid preprocessing token 現在,我定義我的宏如下: #define HANDLE_FUNCTION(x) \

    7熱度

    5回答

    我想用預處理器評論一行: #define open /##* #define close */ main() { open commented line close } 當我做$gcc -E filename.c我預計 /* commented line */ ,但我得到了 / * commented line */ ,這樣編譯器顯示的錯誤 爲什麼它給一個不想要

    2熱度

    2回答

    我需要將完整的對象從Javascript發送到PHP。在PHP端使用JSON.stringify()和json_decode()看起來很明顯,但是這會允許帶有「:」和「,」的字符串嗎?我是否需要在可能導致問題的大用戶輸入字符串上運行escape()函數?那個逃生功能會是什麼?我不認爲逃跑適合我的目的。 是否有任何缺點JSON.stringify()我需要知道? 感謝

    0熱度

    1回答

    我已經得到了下面的宏定義以下特殊的命名方案的新功能: #define CREATE_HOOK_STUB(func) void ##func_STUB() { /* some code*/ } 然而,預處理總是串接void和##func_STUB,但我當然希望它在該位置保留空白。 我知道我可以預先給##func_STUB添加一些字符串,但這不是我想要的。 我會如何解決這個問題?

    74熱度

    2回答

    至少一些Ç預處理器讓你stringize宏的價值,而不是它的名稱,將其通過一個函數宏到另一stringizes它: #define STR1(x) #x #define STR2(x) STR1(x) #define THE_ANSWER 42 #define THE_ANSWER_STR STR2(THE_ANSWER) /* "42" */ 使用案例here。 這並不工作,至少在GC

    7熱度

    3回答

    我正在一個項目中,我有許多由串聯(數字等)形成的常量字符串。 例如,我有一個LOCATION宏格式__FILE__和__LINE__到,我可以使用一個字符串來知道我的代碼,在那裏打印信息或錯誤時: #define _STR(x) # x #define STR(x) _STR(x) #define LOCATION __FILE__ "(" STR(__LINE__) ")" 這樣,這將