掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.28690

「実行」について
投稿者---水樹(2006/11/03 01:54:26)


はじめまして。水樹と申します。つい先日C言語について独学で学び始めたので分からないことがあり、困っています。
WindowsXP・LSI C−86 試食版
を使用しています。


このサイトの「少し詳しい開発環境設定の説明」に沿って進み、sample.cを作成し、【5】実行ではきちんと“hello.world”と出てくれました。
その後も、作成したソースファイルはすべてC:ドライブ直下のcworkという名のフォルダに入れています。

その後、新たに開いたコマンドプロンプトで再びsampleを実行しようとしたのですが、
C:\cwork>sample
と入力しても新しく
C:\cwork
としか表示されません。

私の実行の手順が間違っていると思うのですが・・・解決法が分からない状況です。
私の実行の手順はsample.cの場合
1、コマンドプロンプトを起動
2、c:\> と表示されているので「cd \cwork」と入力
3、C:\cwork> と表示されるので「lcc sample.c」と入力
4、「sample」と入力

です。この手順を済ませるとcwork内にソースファイルの名前と同じ名前のアプリケーションが作成されています。ただしそれをクリックしても一瞬コマンドプロンプトと同画面が表示されますが、すぐに消えてしまいます。作成したすべてのファイルで同じ現象が起きています。

3の操作はコンパイルとリンクが成功した場合、「lld @link.i」と出るらしいのですが、今は出てきません。エラーも何もでずに、2〜3行の空白の行と、先程と同じ「C:\cwork>」が表示されるだけです。
一度コンパイルとリンクが成功したら以後はその操作は無用なのでしょうか。


説明不足だとは思うのですが、現状を精一杯伝えたつもりです。
どなたか、お返事をお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:「実行」について 28692 kolona 2006/11/03 03:28:24


No.28692

Re:「実行」について
投稿者---kolona(2006/11/03 03:28:24)


>その後、新たに開いたコマンドプロンプトで再びsampleを実行しようとしたのですが、
>C:\cwork>sample
>と入力しても新しく
>C:\cwork
>としか表示されません。

>私の実行の手順はsample.cの場合
>1、コマンドプロンプトを起動
>2、c:\> と表示されているので「cd \cwork」と入力
>3、C:\cwork> と表示されるので「lcc sample.c」と入力
>4、「sample」と入力
>
>です。この手順を済ませるとcwork内にソースファイルの名前と同じ名前のアプリケーションが作成されています。ただしそれをクリックしても一瞬コマンドプロンプトと同画面が表示されますが、すぐに消えてしまいます。作成したすべてのファイルで同じ現象が起きています。
>

実行手順が二つ書いてありますが、どちらが問題なのでしょうか?
一応両方として話を進めます。
コマンドプロンプトで「sample」と入力してもエラーが表示されないということは、そういう名前の実行ファイルがあるということです。コンパイル済みなら「sample.exe」というファイルがフォルダ内に存在しているはずです。また、「sample.bat」というバッチファイルのみがある場合、バッチファイルが実行されてしまいますので、何も表示されないように見えるかもしれません。どちらにしろ、紛らわしい名前のファイルがないか確認してみましょう。また、sample.exeがスペースを表示しているのかもしれませんから、ソースコードも合わせて確認しましょう。

二つめとして
>それをクリックしても一瞬コマンドプロンプトと同画面が表示されますが、すぐに消えてしまいます。

とのことですが、これは正常な動作です。
いま、あなたがつくっているプログラムは一般に「コンソールアプリケーション」と呼ばれるもので、基本的な機能のみを持ったプログラムです。
「コンソールアプリケーション」はwindowsによくバンドルされている「word」「internet exploder」といった、ボタンやメニューのたくさん付いているプログラムと違い、基本的にコマンドプロンプトの中で動作させます(正確には入出力にコマンドプロンプトを使用する)。このため、例えば、「hello world と表示させる」、という仕事が終わると、さっさと画面が消えてしまいます。そのため、表示を残すためにはよく以下の方法が使われます。

1. scanf(),gets()など文字入力を待つ関数をプログラムの最後に入れて、入力待ちさせる
2. コマンドプロンプトから実行する
3. sleep()関数で指定秒だけ終了を遅らせる

1か2が簡単です。


この投稿にコメントする

削除パスワード

No.28693

Re:「実行」について
投稿者---水樹(2006/11/03 05:51:12)


丁重な返信、ありがとうございます。
問題は前者の方です・・・。すみません。

検索してみたのですが、それらしきファイルは見つかりませんでした。
また、コマンドプロンプトで幾度かやってみたのですが、
一度ソースファイルのほうを編集(意味のない空白を入れる等)をして上書きをしたあとなら問題なくコンパイルも実行も行えました。
初めてだけなら大丈夫、ということ・・・・のように思えます。
「sample」以外のものも、すべて同様の状態です。
一度はちゃんと表示され、それからソースファイル自体を編集していないのでスペースが表示されることはないかと思います。

重ね重ね初歩的な質問で申し訳ないのですが、一度コンパイルし同フォルダ内に「.exe」で終わる同名のファイルがあるのなら、次回からは“コンパイル、リンクをする”という意味の「lcc ファイル名.c」は不必要なのでしょうか?(一度目に投稿した手順3の部分です)


再びですが、よろしくお願い致します。


この投稿にコメントする

削除パスワード

No.28717

Re:「実行」について
投稿者---水樹(2006/11/04 18:30:12)


>ソースの内容を修正したら、コンパイル・リンクが必要です。
>
>
>ソースの内容を修正していなければ、すでにできている
>実行ファイルを実行すればよいです。コンパイル・リンクしても
>間違いではありませんが、全く同じ実行ファイルを作るだけなので
>事実上ムダです。

この手順を省いてもやはり実行しようとすると空白が表示されるのみです。
初めてなら問題なく、その後も編集すれば実行可能なので、毎回空白を入れる等の作業をして実行していこうかと思います。
お返事を下さった方、ありがとうございます。


この投稿にコメントする

削除パスワード

No.28739

Re:「実行」について
投稿者---水樹(2006/11/05 02:03:46)


・・・編集しても駄目になってしまいました・・・・。

実行すると音のするソースファイルを実行すると、文字は表示されませんが、音は鳴ったので、作動はしています。

もう一度、一から設定をやり直したのですが、やはり問題は解決できませんでした。


この投稿にコメントする

削除パスワード

No.28743

Re:「実行」について
投稿者---kolona(2006/11/05 03:24:41)


>もう一度、一から設定をやり直したのですが、やはり問題は解決できませんでした。

http://homepage3.nifty.com/aokura/phoebe/phoebe.htm

にて
「Windows NT4/2000/XP で、LSI C-86 試食版を使って 16 ビットプログラムを作成して実行した際に、出力結果が表示されず、空欄になってしまう場合があります。」

という報告があります。
コンパイラの問題のようなので、どうにもならないようです。
この際「Borland C++ 5.5」とかMSのフリーのコンパイラに乗り換えた方がいいかもしれません。どちらもフリーですし、32ビット対応です。


この投稿にコメントする

削除パスワード

No.28775

Re:「実行」について
投稿者---水樹(2006/11/09 13:41:14)


Borland C++ 5.5 に変えたところ、できるようになりました!

丁重に教えてくださった方々、ありがとうございました。
これからも勉強していきたいと思います。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧