アプリ版:「スタンプのみでお礼する」機能のリリースについて

CPad for LSI C-86というC言語のフリーソフトのコンパイラーを使用しています。OSはWindows Vistaです。

#include <stdio.h>

int main()
{

printf("Test Program")

}

という単純なプログラムを実行すると、「名前を付けて保存」になってしまい、適当にファイル名を付けて保存すると、
「コンパイルに失敗しました。ファイル”適当なファイル名”は存在しません。」
というコメントが表記されてしまって、プログラムの実行ができません。どなたか原因がわかる方、教えてください。よろしくお願いします。

A 回答 (6件)

>ファイル"C:Users\owner\Desktop\フリーソフト\Test.exe"は存在しません」



フォルダ名「フリーソフト」が悪さをしているのかもしれません。
ファイルシステムそのものは、そういうロングファイルネームに対応していても、
コンパイラが認識できていないようです。

英数字8文字以内のフォルダにソースファイルを保存するように
変更してみてはいかがでしょうか?
    • good
    • 1
この回答へのお礼

ご指摘の通りフリーソフトをfreesoftに変更したところ正常に動作しました。
丁寧な指導ありがとうございます。

お礼日時:2009/06/07 11:01

とりあえず、ちょっとだけ用語を説明しておきます。



エディタ:メモ帳(notepad)などのテキストエディタのこと。テキストファイルを作る。
コンパイラ:プログラムの書かれたテキストファイルを読み込んで、コンピュータが実行する、実行ファイル(*.exe)を作る。

CPadはエディタです。LSI C86 3.30試食版 がコンパイラです。

CPadはプログラム開発用のエディタです。コンパイラにテキストファイルを渡したり、コンパイル時に問題が起きると、エラーメッセージを取得してソースの位置を示したりできます。
コンパイルするとき、コンパイラ自体にはファイルを渡す必要がありますので、エディタは一度ファイルを保存する必要があります。これが最初の保存となる場合(新規ファイルの場合)、保存先とファイル名を求められるでしょう(つまり「名前をつけて保存」)。
さて、CPadのメッセージはウィンドウ下部のメッセージ領域に表示されたと思いますが、他にメッセージは出ていないでしょうか?
おそらく、

~何らかのメッセージ~
コンパイルに失敗しました
ファイル"C:Users\owner\Desktop\フリーソフト\Test.exe"は存在しません

という感じになっていると思います。
見つからないファイル名はexe(実行ファイル)であること、「コンパイルに失敗しました」とは別の行にあるなら、別のメッセージであること、そしてこの手のメッセージは、通常はより細かいものが先に表示されることから、最後のファイルがないというメッセージはコンパイラのメッセージではなく、エディタのメッセージと考えられます。
試しに、「コンパイル」でコンパイルだけしてはどうでしょう。
最後のファイルが存在しませんというメッセージが消えるのではないでしょうか。

なお、コンパイルに失敗する原因は「コンパイルに失敗しました」よりも先に表示されているメッセージで示されます。
一度のコンパイルのメッセージ全体の一般的な並びは、

コンパイラの名称やバージョン
コンパイルの対象ファイル名
警告メッセージ/エラーメッセージ
コンパイルの結果

となります。

この回答への補足

「コンパイルに失敗しました
ファイル"C:Users\owner\Desktop\フリーソフト\Test.exe"は存在しません。」以外のエラーメッセージは出てきませんでした。、実行後、ソースファイルとテキストファイルが作られていました。
コンパイルだけをおこなった場合、メッセージの欄にcannnot excute…LCC.EXEといった記述がありました。
フリーソフトをfreesoftに変えて実行したところ、前述の二つのファイルとEXEの実行ファイルがあり正常に動作していました。
要するに、一度書いたプログラムを保存し、コンパイラに読み込ませて実行させているということなのでしょうか。
だとすると、テキストファイルとソースファイルの二つを作る意味というのはどういうことなのでしょうか?
質問とは関係ありませんが、教えていただけるとありがたいです。

補足日時:2009/06/07 21:57
    • good
    • 0

>エラー内容が「見つかりません。



コンパイル時のエラーメッセージの全文を、
コピー&ペーストで正確に掲載してください。

この回答への補足

エラー内容は
「コンパイルに失敗しました
 ファイル"C:Users\owner\Desktop\フリーソフト\Test.exe"は存在し ません」
です。コピーはできないようになっていましたが忠実にエラー内容をうつしました。
 ちなみに保存ファイル名はTest.cにしました。

補足日時:2009/06/06 21:19
    • good
    • 0

>実行というのは「コンパイル&実行」というものをクリックしたということなのですが。



このときに、最初の投稿にあったとおり「名前を付けて保存」になったのですか?
そのとき、

>適当にファイル名を付けて保存すると、

どういう風に適当だったのでしょうか?

LSI C試食版は16ビット時代のひじょうに古いコンパイラで、
今では普通に使っているロングファイルネームに対応していません。
「8文字以内の英数字.c」という形式でソースファイルを保存する必要があります。

この回答への補足

おっしゃる通りで「名前を付けて保存」になりました。
ファイル名はabc.cとかtest.cとかにしました。
エラー内容が「見つかりません。」ということは、保存する場所が決まっているのでしょうか?

補足日時:2009/06/06 20:55
    • good
    • 0

>CPad for LSI C-86というC言語のフリーソフトのコンパイラーを使用しています。



CPad for LSI C-86 は、コンパイラではありません。
LSI C-86 というコンパイラを使ったプログラム開発を支援するためのソフトウェアです。

CPadの「実行」というのは、おそらく、
 ・LSI C-86 によるコンパイル、実行ファイルの作成
 ・前項で作成した実行ファイルの実行
という2段階のことを称しているのではないかと思います。

ここで、質問時に提示されたソースを見ますと、

>printf("Test Program")

最後にセミコロンがありません。
このため、2段階のうちの第1段階である、コンパイルに失敗しているのではないでしょうか。

この回答への補足

早速の回答ありがとうございます。セミコロンを入力したのですが同様の結果になりました。
詳細を説明しますと、CPad for LSI C-86のファイルを展開して実行しますと「コンパイラのパス」が指定されます。なので、「LSI C86 3.30試食版」というフリーソフトのBINファイルに入っているLCC.EXEというものを指定しました。
私は間違えていたようで、コンパイラは「LSI C86 3.30試食版」だと思います。
そうすると、プログラムが書き込める画面が開かれて先ほどのプログラムを打ち込み、実行しました。
実行というのは「コンパイル&実行」というものをクリックしたということなのですが。よろしくお願いします。

補足日時:2009/06/06 20:23
    • good
    • 0

>という単純なプログラムを実行すると



このとき、どういう手順を踏みましたか?
メニューのこれを選択してからこれを押した、というように、
具体的に教えてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています