stdin を使用したコンパイラへのソースコードの入力

ソースコードのファイルを作成する代わりに、stdin を使用して、コマンドラインからソースコードを直接入力できます。この機能は、ファイルを作成せずに短いコードをテストしたい場合などに便利です。

stdin を使用してコマンドラインからソースコードを直接入力するには、以下の操作を行います。

  1. 使用するコマンドラインオプションを指定して、コンパイラを起動します。デフォルトのコンパイラモードは C です。マイナス記号(-)をソースファイル名として使用して、stdin から入力を受け取るようにコンパイラに指示します。以下に例を示します。

    armcc --bigend -c -
    

    オブジェクトファイルの書き込みを行う場合は、-o オプションを使用します。プリプロセッサ出力を出力ストリームに送信するには、-E オプションを使用します。出力を stdout に送信するには、-o- オプションを使用します。入力が終了した後で、キーボード入力のアセンブリリストを出力ストリームに送信するには、これらのいずれのオプションも使用しません。

  2. マイナス記号の後の同じ行には入力できません。Return キーを押していない場合は、押す必要があります。

    コマンドプロンプトが表示され、入力の待機状態になります。

  3. コードを入力します。以下に例を示します。

    #include <stdio.h>
    int main(void)
    { printf("Hello world\n"); }
    
  4. 入力を終了するには、以下の操作を行います。

    • Microsoft Windows システムでは、Ctrl-Z キーを押してから Return キーを押します。

    • Red Hat Linux システムでは、Ctrl-D キーを押します。

キーボード入力の場合のアセンブリリストは、以下の条件の両方が満たされている場合に、入力が終了した後に出力ストリームに送信されます。

それ以外の場合、-o オプションと -E オプションのどちらを使用したかに応じて、オブジェクトファイルが生成されるか、またはプリプロセッサ出力が標準出力ストリームに送信されます。

リンク手順を実行しているとき、コンパイラは、他のファイルと共に、ソースコードを標準入力ストリームから受け取ります。例えば、以下の指定を行うことができます。

以下のコマンドを実行すると、標準入力で指定したソースコードがコンパイルされ、test.axf にリンクされます。

armcc -o test.axf -

標準入力を他のソースファイルと結合することができるのは、コードをリンクするときだけです。リンク時以外で標準入力を他のソースファイルと結合しようとすると、コンパイラによってエラーが生成されます。

Show/hide関連項目

Copyright © 2010 ARM. All rights reserved.ARM DUI 0472BJ
Non-ConfidentialID011811