外部プログラムの標準エラー出力取得No.04612
ねむ さん 99/12/10 12:12
 
WindowsNT 4.0 + 秀丸3.01の、マクロからの外部プログラムに
ついてちょっと質問があります.

下記のようなマクロを作って作成中のCソースのコンパイルを
しているのですが、外部プログラム(C++コンパイラ)が、
標準エラー出力を使ってエラーを吐き出しで来ます.
で、そのコンパイルの結果を新しい秀丸のウィンドウに
表示したいのですが、エラーが標準エラー出力に出力
されているせいか、秀丸の新しいウィンドウには何も表示
されないままになってしまいます.

| $cmd="cpp " + basename;
| $cmd = input( "コンパイルの実行", $cmd);
| if( result == true){
| title "コンパイル実行中 : " + $cmd;
| run $cmd;
| }

仕方なく現在は以下のようなマクロを作成していますが、
コマンドプロンプトの画面が一瞬出てしまうので、ちょっと
うざったく思っています.

| save;
| $cmd="cpp " + basename;
| $cmd = input( "コンパイルの実行", $cmd);
| if( result == true){
| title "コンパイル実行中 : " + $cmd;
| runsync2 "cmd /x /q /c\"" + $cmd + "  >> err 2>&1 \"";
| if( result == false)
| message( "プログラムの起動に失敗しました");
| title 0;
| readonlyopenfile "err";
| }

そこで質問なのですが、マクロの外部プログラムの呼び出しで、
標準エラー出力をもうちょっとスマートに秀丸ウィンドウに
取り込む方法はありますでしょうか.
ちなみに、今使っているコンパイラに「エラーは標準出力に出力
する」というスイッチはありませんでした(;_;)

いつも質問ばかりですが、よろしくおねがいします.

[ ]
RE:04612 外部プログラムの標準エラー出力No.04620
秀丸担当 さん 99/12/10 18:00
 
>そこで質問なのですが、マクロの外部プログラムの呼び出しで、
>標準エラー出力をもうちょっとスマートに秀丸ウィンドウに
>取り込む方法はありますでしょうか.
>ちなみに、今使っているコンパイラに「エラーは標準出力に出力
>する」というスイッチはありませんでした(;_;)

いちおう次のバージョンではエラー出力にも対応する予定です。
ただ標準出力と混ざってしまうという問題がありますが。

[ ]
RE:04620 外部プログラムの標準エラー出力No.04637
ねむ さん 99/12/13 21:04
 
>いちおう次のバージョンではエラー出力にも対応する予定です。
>ただ標準出力と混ざってしまうという問題がありますが。

回答ありがとうございます.
なるほど、わかりました.次バージョンを楽しみに待ちたいと
思います.

[ ]