2014-07-17 53 views
0

我正在使用CPP擴展基於多個標頭的測試文件。預處理文件被其他腳本使用。Multiline C宏

當我使用EXPAND_SPEC定義。我希望CPP在文件中放入以下行。

A B
Çd
電子網

所以,我使用以下定義

的#define EXPAND_SPEC試圖\
A B \
℃d \
電子網

但是,CPP替換此定義下列方式

A B C B電子網

如何使用定義,以獲得新行字符。

+0

'「A B \ nC D \ nE F」'? – mch

+2

duplicate http://stackoverflow.com/q/2271078/612920 – Mansuro

+0

我用「A B \ nC D \ nE F」替換了定義。不插入實際的新行。 – user2268152

回答

0

您的要求是不可能的。

您不能用C/C++預處理器創建新行。

唯一的解決方案是使用不同的宏處理器,或讓宏嵌入一個特殊的字符(或字符串),可以使用SED或AWK等文本處理工具替換爲新行。兩者都是cygwin的一部分。