名前空間
変種
操作

Filename and line information

提供: cppreference.com

 
 
C++言語
一般的なトピック
フロー制御
条件付き実行文
繰り返し文 (ループ)
ジャンプ文
関数
関数宣言
ラムダ関数宣言
inline 指定子
例外指定 (非推奨)
noexcept 指定子 (C++11)
例外
名前空間
指定子
decltype (C++11)
auto (C++11)
alignas (C++11)
記憶域期間指定子
初期化
代替表現
リテラル
ブーリアン - 整数 - 浮動小数点
文字 - 文字列 - nullptr (C++11)
ユーザ定義 (C++11)
ユーティリティ
属性 (C++11)
typedef 宣言
型エイリアス宣言 (C++11)
キャスト
暗黙の変換 - 明示的な変換
static_cast - dynamic_cast
const_cast - reinterpret_cast
メモリ確保
クラス
クラス固有の関数特性
特別なメンバ関数
テンプレート
その他
 
 
直ちにディレクティブの後の行に現在のソースファイルに他のソース·ファイルが含まれています.
Original:
Includes other source file into current source file at the line immediately after the directive .
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目次

[編集] 構文

#line lineno (1)
#line lineno "filename" (2)

[編集] 説明

linenoへの変更現在のプリプロセッサの行番号を、このポイントを超えてマクロ__LINE__の展開がlinenoプラス以来遭遇した実際のソース·コードの行数に展開されます.
Original:
Changes the current preprocessor line number to lineno. Expansions of the macro __LINE__ beyond this point will expand to lineno plus the number of actual source code lines encountered since.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2)
またfilenameに現在のプリプロセッサフ​​ァイル名を変更します。マクロの展開は__FILE__この点から生成されfilename.
Original:
Also changes the current preprocessor file name to filename. Expansions of the macro __FILE__ from this point will produce filename.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
彼らは必要に応じて有効な文字列を次の有効な10進整数に拡大していく。すべてプリプロセッサトークン(マクロ定数または式)を限り#lineへの引数として許可されています.
Original:
Any preprocessing tokens (macro constants or expressions) are permitted as arguments to #line as long as they expand to a valid decimal integer optionally following a valid character string.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] ノート

このディレクティブはによって使用され別の言語で書かれたファイルからC + +のソースファイルを生成するいくつかのコードの自動生成ツール。その場合、#lineディレクティブは、生成されたC + +のファイルを参照する行番号と元の(人間が編集可能な)ソースファイルのファイル名に挿入されるかもしれません。
Original:
This directive is used by some automatic code generation tools which produce C++ source files from a file written in another language. In that case, #line directives may be inserted in the generated C++ file referencing line numbers and the file name of the original (human-editable) source file.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集]

#include <cassert>
#define FNAME "test.cc"
int main()
{
#line 777 FNAME
        assert(2+2 == 5);
}

出力:

test: test.cc:777: int main(): Assertion `2+2 == 5' failed.