• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            #line 宏

            用來重新設定源文件的名字和行號,指向另外的一個地方,如果出現編譯錯誤,編譯器的輸出信息將指向設置后的文件和偏移, LEX & YACC,Ragel,很多這種宏。

             

            MSDN的解釋

            The #line directive tells the preprocessor to change the compiler’s internally stored line number and filename to a given line number and filename. The compiler uses the line number and filename to refer to errors that it finds during compilation. The line number usually refers to the current input line, and the filename refers to the current input file. The line number is incremented after each line is processed.

            Syntax

            #line

            digit-sequence "filename"opt

            The digit-sequence value can be any integer constant. Macro replacement can be performed on the preprocessing tokens, but the result must evaluate to the correct syntax. The filename can be any combination of characters and must be enclosed in double quotation marks (" "). If filename is omitted, the previous filename remains unchanged.

            You can alter the source line number and filename by writing a #line directive. The translator uses the line number and filename to determine the values of the predefined macros __FILE__ and __LINE__. You can use these macros to insert self-descriptive error messages into the program text. For more information on these predefined macros, see Predefined Macros.

            The __FILE__ macro expands to a string whose contents are the filename, surrounded by double quotation marks (" ").

            If you change the line number and filename, the compiler ignores the previous values and continues processing with the new values. The #line directive is typically used by program generators to cause error messages to refer to the original source file instead of to the generated program.

            The following examples illustrate #line and the __LINE__ and __FILE__ macros.

            In this statement, the internally stored line number is set to 151 and the filename is changed to copy.c.

            #line 151 "copy.c"

            In this example, the macro ASSERT uses the predefined macros __LINE__ and __FILE__ to print an error message about the source file if a given “assertion” is not true.

            #define ASSERT(cond)
             
            if( !(cond) )\
            {printf( "assertion error line %d, file(%s)\n", \
            __LINE__, __FILE__ );}

             

            posted on 2008-12-27 22:26 肥仔 閱讀(828) 評論(0)  編輯 收藏 引用 所屬分類: C++ 基礎

            久久久久99精品成人片牛牛影视| 久久久久久狠狠丁香| 久久久久亚洲精品天堂久久久久久 | 99久久婷婷国产一区二区| 久久se这里只有精品| 亚洲国产成人精品91久久久| 久久九九精品99国产精品| 久久久国产乱子伦精品作者| 久久一区二区三区免费| 久久无码人妻一区二区三区午夜| 91精品国产91久久久久久蜜臀| 伊人久久大香线蕉综合热线| 久久精品人人做人人爽97| 久久这里只有精品视频99| 1000部精品久久久久久久久| 久久久亚洲AV波多野结衣| 91久久成人免费| 777米奇久久最新地址| 久久久噜噜噜久久中文字幕色伊伊 | 久久精品嫩草影院| 中文字幕亚洲综合久久菠萝蜜| 亚洲国产精品人久久| 久久亚洲AV成人无码国产| 久久乐国产综合亚洲精品| 品成人欧美大片久久国产欧美...| 日韩久久久久久中文人妻| 伊人久久大香线蕉成人| 久久亚洲色一区二区三区| 国产午夜精品久久久久免费视| 精品久久亚洲中文无码| 欧美午夜精品久久久久久浪潮| 色综合久久综合网观看| 久久精品国产免费| 精品久久久久久综合日本| 国产情侣久久久久aⅴ免费| 久久综合给合久久狠狠狠97色69| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 亚洲国产香蕉人人爽成AV片久久| 久久人人爽人人爽AV片| 亚洲婷婷国产精品电影人久久| 日韩久久无码免费毛片软件 |