ついに夏本番!さぁ、家族でキャンプに行くぞ! >>

はじめまして。プログラミング初心者です。

先日独習Cという本を買ったのですが、その付属CD-ROMに添付されているGNU C compilierを使って実行しようとしてるのですが、何度本の通りにやってもうまくいきません。
簡単なプログラムを作ってTYC4THフォルダの中のsampleフォルダにtest.cというソースファイルを保存しました。

本によると、

読み取り専用の属性を解除

・ソースファイルを保存したディレクトリに移動

・gcc test.c と入力

・a.exe と入力すると実行される

となっています。
gcc test.cまではいいのですが、a.exeと入力すると

'a.exe'は、内部コマンドまたは外部コマンド
操作可能なプログラムまたはバッチファイルとして認識されていません。

と表示されます。どうすればいいのでしょうか?;;

このQ&Aに関連する最新のQ&A

A 回答 (9件)

a.exeじゃなくてaで実行してみて

    • good
    • 0

これはWindowsのコマンドプロンプトでの話でしょうか。



それなら、そのフォルダにパスが通っていないだけと思います。
.\a.exe
で実行できると思います。
    • good
    • 0

>int mai(void)



ここがmainになっていませんが、大丈夫ですか?
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。

修正しましたが、やはりダメでした。

お礼日時:2009/05/28 14:08

>C:/TYC4TH/MinGW/lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined reference to `WinMain@16'



gccの設定ファイル(リンカーの設定?)が、Windowsアプリケーションになっていると思われます。
作成しようとしているのはコンソールアプリケーションではないですか?

あと、環境やエラーメッセージなどは正しく書きましょう。
# ふつ~にgccとか言われると、たいていの場合はUNIX系かと想像されるかと。
# WindowsでMinGWとか使ったことありませんので、実際の設定などについては他の方からの回答に期待。
    • good
    • 0

a.outができていれば、a.exeにリネームして実行。

    • good
    • 0

>~.exeというものは全く生成されていませんでした><


>どうすれば生成されるのでしょうか?

コンパイルが失敗しているのではないでしょうか?
コンパイル時にエラーメッセージが出ていませんか?

test.cの全貌を「そのまま」貼り付けていただけますか?

この回答への補足

ご回答ありがとうございます。
これがtest.cの全貌です。

#include<stdio.h>

int mai(void)

{
printf("hello");
return 0;
}

また、gcc test.cと打った時

test.c:8:2: warning: no newline at end of file
C:/TYC4TH/MinGW/lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined referen
ce to `WinMain@16'

と表示されました。

どうでしょうか?

補足日時:2009/05/25 00:01
    • good
    • 0

多分ですが...



./a.exe

で解決するような気がします。

この回答への補足

ご回答ありがとうございます。

今やってみましたが、
'.'は、内部コマンドまたは外部コマンド
操作可能なプログラムまたはバッチファイルとして認識されていません。

と出てきてしまいました;;

補足日時:2009/05/24 17:24
    • good
    • 0

gccコマンドを実行したあと、同じフォルダにa.exeは生成されてますか?


生成される事を想定されている説明になってると思います。
***.exeが生成されていたら、ちょっと読み替えて対応したほうがいいかもしれませんね。

この回答への補足

ご回答ありがとうございます。

~.exeというものは全く生成されていませんでした><
どうすれば生成されるのでしょうか?

補足日時:2009/05/24 17:26
    • good
    • 0

1.パスが通っていないので、フルパスで実行する


2.環境変数のPATHにそのプログラム(a.exe)があるフォルダパスを追加する
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qeclipseでプログラムが実行できません

プログラミング初心者です。
おかしな部分があるかと思います...。すみません...。

学校で出たC言語の課題を家でもやるために、eclipseをダウンロードしました。
MinGWもダウンロードしました。
C言語でプログラムを記述し、「すべてビルド」を押してから実行ボタンを押しましたが、「バイナリが見つかりません」というエラーが出てきてしまい、まったく実行できません。
ほかのサイトを参照しても、「コンパイル用のソフトをダウンロードしてありますか?」などの回答が多かったのですが、MinGWをダウンロードしてあるので何とも言えません。
プログラムはHello World!を表示させる程度の簡単なものです。
どのように操作をしたらうまく実行できるか教えてください。

また、eclipseとマイクロソフトのVisual Studioではどちらが使いやすいでしょうか。

ご回答よろしくお願いいたします。

Aベストアンサー

MinGWのインストールとeclipseの選択に問題がないと仮定して、
eclipse で Hello World を動かす手順は次の通りです。
--------------------------------------------------------------
メニューの "File > New > C Project" をクリック。

Project name: に適当なプロジェクト名を入力して
Project Type: を "Executable" の "Hello World ANSI C Project" にして
Toolchains: を "MinGW GCC" にして
"Finish" をクリック。

"Project Explorer" ビュー内の作成したプロジェクトのところで右クリックしたあと
"Build Project" をクリック。

"Project Explorer" ビュー内の作成したプロジェクトのところで右クリックしたあと
"Run AS > Local C/C++ Application" をクリック。

"Console" ビューに
!!!Hello World!!!
と表示される。
--------------------------------------------------------------
もっとも、No.1の方が回答されているように、
最初はMinGWだけでコンパイルして実行するほうがラクでしょう。
ソースファイルが1つだけのプログラムであれば、コマンドプロンプトから
gcc ソースファイル名
と入力したあと、
a.exe
と入力するだけです。

gcc がコマンドとして認識されない場合は、Windowsの環境変数 PATH に
MinGW の bin ディレクトリが含まれていないはずなので追加してください。

MinGWのインストールとeclipseの選択に問題がないと仮定して、
eclipse で Hello World を動かす手順は次の通りです。
--------------------------------------------------------------
メニューの "File > New > C Project" をクリック。

Project name: に適当なプロジェクト名を入力して
Project Type: を "Executable" の "Hello World ANSI C Project" にして
Toolchains: を "MinGW GCC" にして
"Finish" をクリック。

"Project Explorer" ビュー内の作成したプロジェクトのところで右クリックしたあと
"...続きを読む

Qfloat型とdouble型の変数の違いを教えてほしいです

float型とdouble型の変数の違いを教えてほしいです
2Dゲームを作っててdoubleの変数を使ってたんですが使ってはだめだと先輩に言われたんです。
理由を聞いたら、先生が「doubleは使わないほうがいい」と言われたらしくてちゃんとした理由がわかりませんでした。
それを知って何をするということではないんですが、気になって調べても出てこなかったので質問させてください。
まだゲーム作りを始めたばっかりでぜんぜん詳しくないですが教えてくれたら助かります。

Aベストアンサー

doubleとfloatでは、精度が違い、そのためメモリに占める大きさも違います。
また、一般的には、桁が多いとその分計算時間がかかります。
ですから、精度が必要ない場面では、floatを使う、というのも一つの考えかたです。

ですが、実際には「一概に言えない、処理系依存」です。

以前は全てCPUで計算していたので、精度=計算量でした。
しかし、最近では浮動小数点演算専用の回路が付いているケースが多く、計算時間は同じだったり、doubleに変換が必要でその分floatの方が遅かったり、floatでの演算はより高速にできたり、と様々です。
32bitCPUでは、32bitのfloatの方が扱いやすいでしょうが、64bitCPUでは64bitのdoubleの方が扱いやすいかもしれません。
Cのmath.hで使える標準関数はdouble型のものがほとんどです。三角関数は2Dのゲームでも使う機会が多いのではないでしょうか。sinもcosもdouble型です。内部演算は当然doubleですので、変数にfloatを使ったからと早くはならず、むしろfloat型の変数に入れるときに暗黙の型変換が発生する分遅くなる可能性もあります。

そういった背景を考え検討した結果、floatを使う方がよい、と判断したのならいいのですが、「先生に言われた」では理由になりません。
聞けるのなら、その先生に理由を聞いてください。真意がわからないうちは、鵜呑みしないことです。

doubleとfloatでは、精度が違い、そのためメモリに占める大きさも違います。
また、一般的には、桁が多いとその分計算時間がかかります。
ですから、精度が必要ない場面では、floatを使う、というのも一つの考えかたです。

ですが、実際には「一概に言えない、処理系依存」です。

以前は全てCPUで計算していたので、精度=計算量でした。
しかし、最近では浮動小数点演算専用の回路が付いているケースが多く、計算時間は同じだったり、doubleに変換が必要でその分floatの方が遅かったり、floatでの演算はより高速...続きを読む


人気Q&Aランキング