2013-02-15 10 views
6

この特定のC++コードプロジェクトには、関数定義の前に0xFFバイトのマーカーがあります。C++ソースファイルの印刷不可(0xFF)バイト

この目的は何ですか?簡単なソースファイルパーサーを手助けするのですか?

明らかに、コンパイラはこれらのマーカーを無視します。言い換えれば、空白文字で、Form Feed (ASCII 12) (on wiki-pedia)可能性があり

Strange character appearing in C source file

+3

プリントは、「改ページ」セミ関連

として、プレーンテキスト文書でFFを解釈します。 –

+0

おそらく、識別子が基本的なソース文字セット以上を使用できるようにするコンパイラ拡張を使用していますか? – PlasmaHH

+0

うわー、私の間違い。これはC++コードです。 –

答えて

9

フォームフィード文字は、ページ区切りの区切り文字としてのソースコードのプレーンテキストファイル、またはコードセクションのマーカーとして使用されることがあります。 一部のエディタ、特にemacsには、フォームフィード文字のページアップ/ダウンコマンドが組み込まれています。この規約はLispコードで主に使用されており、Pythonのソースコードでも見られます。

以前はソースコードがレビュー/アーカイブのために一般的に紙に印刷されていましたが、以前はソースでよく使われていました。私は、彼らがそこに属していないかなり確信しているhttps://twitter.com/sehetw/status/297904888321544192

+0

Fortranでは、コメントを除いたコードが30行しかない関数は不十分とみなされていました。たぶんあまりにも短い!非常に短い機能がたくさんあるC++ではうまく動作しません。ありがとうsehe。 –

+0

それが理由に違いありません! –

+2

そして絶対に明白である:form-feedは空白文字であり、垂直タブとより一般的なスペース、タブ、改行である。 – ecatmur