GCCで標準入力をコンパイル

ここを通して,ここより.
どんな利点があるのかいまいち分かんないけど,面白い.


実行環境は,gcc 3.4.2(mingw-special) + ckw + tcshという変なもの(これが好きなのだ).
gcccygwin付属のものじゃなくて,MinGWのもの.
ckwは,コマンドプロンプトを少し便利にしたもの.ちなみにcygwin端末用のもあり,それはck.
そして,そのckw(ckじゃないよ)上でtcshを起動している(そうしないとMinGWコンパイルしたものが上手く動いてくれなかったりする).
まあ,余談はそれくらいにして,標準入力をコンパイルってやつ.

$ gcc -xc - -o xc-test.c
#include<stdio.h>

int main(void)
{
        printf( "Hello, World\n" );
        return 0;
}
^Z
$ ./xc-test.c
Hello, World

「-xc」は必須らしい.これで書いているソースはC言語のものですよ〜と明示しているとのこと.
書かないとエラーが出る(確認済み).
そして,入力ファイル名のところを「ハイフン(-)」とすることで,標準入力(端末エミュレータ上に直接打ち込む)であると指定.
使ってみてすこしビビった.
普通にタブや,バックスペースが使える(C-hでバックスペースもきいた).
最後に少しとまどったのは,終了はC-Dじゃだめだったこと.
Windows?では,C-ZやってEnterしないと駄目だった.
(それ以前に何度もC-cを押して中断してなんでだーとかのたうちまわってた.)