• <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++ 基礎

            亚洲一级Av无码毛片久久精品| 色青青草原桃花久久综合| 亚洲国产精品无码久久一区二区| 怡红院日本一道日本久久| 91精品免费久久久久久久久| 国产精品免费看久久久香蕉| 国产精品成人久久久| 麻豆精品久久久一区二区| 国产精品乱码久久久久久软件| 麻豆AV一区二区三区久久| 精品久久久久久国产牛牛app| 超级97碰碰碰碰久久久久最新 | 久久久久久久久久久精品尤物| 久久亚洲私人国产精品vA| 久久人妻少妇嫩草AV蜜桃| 高清免费久久午夜精品| 一级做a爰片久久毛片毛片| 精品国产福利久久久| 久久久久波多野结衣高潮| 久久亚洲国产精品一区二区| 久久久久免费精品国产| 久久久久久噜噜精品免费直播| 久久婷婷激情综合色综合俺也去| 亚洲伊人久久成综合人影院| AAA级久久久精品无码区| 国产成人久久AV免费| 亚洲精品乱码久久久久久中文字幕| 久久精品国产一区二区三区不卡| 国产亚洲精品自在久久| 热99RE久久精品这里都是精品免费 | 久久99免费视频| 97精品依人久久久大香线蕉97| 日本亚洲色大成网站WWW久久| 精品乱码久久久久久夜夜嗨 | 97精品国产97久久久久久免费| 成人国内精品久久久久一区| 亚洲国产另类久久久精品小说| 久久免费视频1| 一本一本久久A久久综合精品 | 色综合久久久久综合99| 性做久久久久久久久|