• <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

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            #line 宏

            用來(lái)重新設(shè)定源文件的名字和行號(hào),指向另外的一個(gè)地方,如果出現(xiàn)編譯錯(cuò)誤,編譯器的輸出信息將指向設(shè)置后的文件和偏移, 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 肥仔 閱讀(830) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++ 基礎(chǔ)

            99久久成人18免费网站| 99久久精品国产一区二区| 伊人久久综合无码成人网| 久久99国产综合精品女同| 久久人人超碰精品CAOPOREN| 一本一道久久综合狠狠老| 久久91精品国产91久久小草| 久久精品国产亚洲αv忘忧草| 日本免费久久久久久久网站| 日本五月天婷久久网站| 国产精久久一区二区三区| 色欲av伊人久久大香线蕉影院| 久久精品无码一区二区三区免费| www.久久热.com| 天天躁日日躁狠狠久久| 久久人人爽人人爽人人片AV麻豆| 国产精品美女久久久久久2018| 久久久无码精品亚洲日韩京东传媒 | 久久精品国产精品亚洲下载| 久久久老熟女一区二区三区| 国产精品久久久久久久app| 久久精品国产清自在天天线| 91久久精品国产91性色也| 成人国内精品久久久久影院| 欧美大香线蕉线伊人久久| 囯产极品美女高潮无套久久久| 欧美激情精品久久久久久久| 精品无码久久久久久国产| 国产综合免费精品久久久| 成人国内精品久久久久影院VR| 日韩欧美亚洲综合久久影院d3| www.久久热| 国产精品永久久久久久久久久| 久久综合九色综合久99| 99久久伊人精品综合观看| 国产精品熟女福利久久AV| 2021国产成人精品久久| 女同久久| 国产V亚洲V天堂无码久久久| 久久亚洲国产午夜精品理论片| 狠狠人妻久久久久久综合|