• <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久久精品久久久久久清纯| 久久精品国产亚洲Aⅴ香蕉| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久99国产亚洲高清观看首页| 久久99国产精品一区二区| 国产毛片久久久久久国产毛片| 久久99精品久久久久久动态图| 蜜臀久久99精品久久久久久| 久久精品国产99国产精品澳门| 久久精品夜色噜噜亚洲A∨| 国内精品伊人久久久久777| 色综合久久中文色婷婷| 蜜臀av性久久久久蜜臀aⅴ| 亚洲伊人久久成综合人影院| 精品久久久久久成人AV| 一97日本道伊人久久综合影院| 久久国产高清字幕中文| 午夜不卡久久精品无码免费| 国色天香久久久久久久小说| 久久国产成人午夜AV影院| 99热成人精品热久久669| 99久久99久久| 日日躁夜夜躁狠狠久久AV| 亚洲欧美日韩精品久久亚洲区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 色综合久久久久综合99| 99久久精品久久久久久清纯| 久久人爽人人爽人人片AV| 国产香蕉久久精品综合网| 狠狠色丁香久久婷婷综合蜜芽五月| 国产精品久久久久久久久| 伊人久久无码中文字幕| 99久久免费国产精品特黄| 久久久久国产视频电影| 精品久久久久久无码中文字幕 | 色综合久久中文字幕无码| 久久国产亚洲精品| 伊人久久大香线蕉av不卡| 97精品伊人久久大香线蕉| 久久天天躁夜夜躁狠狠|