あるサイトを見つつ、C言語を学んでみようかと思い、コンパイルする直前までこぎつけました。
#include <stdio.h>
void main ()
{
printf("Hellow World!");
}
とメモ帳などで打ち、 test.cとして保存しました。
cygwinでコンパイルしようとしたところ、
test.c:In function `main':
test.c:4: warning:ruturn type of 'main' is not `int'
と表示され、コンパイルできません。
他所でコンパイラの問題では?と言われていたのでVisual C++を使い、
ビルド、デバッグなしで開始、とすると
Hello World!
続行するには何かキーを押してください...
となり、成功しました。
Visual C++ を使えば問題ないのですが、どうしてcygwinではできないのか・・・と思いました。
そして確かに Visual C++で デバッグなしで開始 とすると実行できるのですが、実行ファイル(exe)というのができるときいていたのでできておらず、少し戸惑っています。
あと、Visual C++についているコマンドプロンプトを使ってできるのかな・・・とも思いましたが、使い方がよくわかりません。
私がCとC++をこんがらがって考えている(CとC++ってほとんどいっしょ?などと)せいなのかもしれませんが、教えていただけたら助かります。
No.4
- 回答日時:
他の方の回答で解決しているようですが、締め切っていないので、1点蛇足の補足です。
>実行してみたところ、何か(?)が立ち上ってすぐに消えました。
>これでいいのでしょうか?どこかが間違っている気がします・・・
>気がするだけならうれしいのですが
コマンドプロンプトが一瞬、起動して消えたのでしょう。
正常な動きです。
コマンドラインのプログラムなので、コマンドプロンプト立ち上げ後、exeのある場所まで移動して、そのexe名を打てば、「Hello World!」が表示されると思います。
Visual C++の場合は、「その場所に移動する」「実行後PAUSEする」と言う部分が補完されているので、
Hello World!
続行するには何かキーを押してください...
のようになるのです。
なるほど・・・
と、いうことは正常だったのですね。
わかりやすい意見をありがとうございます。
少し気になっていた部分なのでとてもためになりました。
最後にひとつ・・・
Vitual C++の付属品のVitual Studio 2008コマンドプロンプトと最初からあるコマンドプロンプト・・・同じものなのでしょうか?
くだらない質問かもしれませんが、ご教授願います。
No.3
- 回答日時:
>ビルド≒コンパイル
コンパイルはビルドの一部です。=でも≒でもありません。
ソースコードをコンパイルすると、オブジェクトコードができます。
次に、単数または複数のオブジェクトコードと、ライブラリーとを結合させて実行形式のファイルを作ります。この過程をリンクといいます。
コンパイルから始まって、実行形式のファイルを作るまでの
一連の過程を、ビルドと呼んでいる処理系があります。
ビルドは、マイクロソフトなどWindowsの処理系で使っている用語ではないかと思います。
UNIXを起源とする処理系では、ビルドという用語はあまり使わないような気がします。
まとめると、
ビルドとはWindows系の処理系で・・・コンパイルし、そしてできたものとライブラリーなるものをリンクすること
ということですね。
わかりやすい回答をありがとうございます。
参考意見ということですが、初心者にもわかりやすく書いていただき助かりました。
No.2ベストアンサー
- 回答日時:
>test.c:4: warning:ruturn type of 'main' is not `int'
>
>と表示され、コンパイルできません。
コンパイル出来ていますよ。warning というのは警告という意味で、エラーではありません。
void main ()
と書いていますが、mainはint型なので、
int main()
と書くのが正しく、そのことを指摘する警告です。
参考にしたサイトに、void と書くように書いてあったのなら他の部分もそのサイトは怪しいかもしれません。
なお、警告だけでエラーが無ければa.exeが出来ており実行は出来るはずです。
a.exe
を実行してみましょう。
C++はCと似ていますが別の言語で Cがまだ理解できていなければC++は理解困難でしょうね。
この回答への補足
失礼しました・・・お礼の欄を書いたあとに気づいたのですが、
CとC++ではなく、C#とCアンドC++の間違いですね。
C#はこれまた難しそうなのでVitualC++に落ち着こうかと思います。
素早い回答をどうもありがとうございました。
確かにできていました。気付かなかったようです・・・すいません。
実行してみたところ、何か(?)が立ち上ってすぐに消えました。
これでいいのでしょうか?どこかが間違っている気がします・・・
気がするだけならうれしいのですが
なんにせよどこかにVitualを使ったほうが他のプログラムなどもVitualで作られているのでいいと書かれていたのでVitualを使ってみたいと思います。
VitualはCとC++がありますが、C++を使ったほうがいいのでしょうか?
C++でやったところ、exeファイルではなく、違った形の形式で実行・作成(?)されているようなので・・・
さっきもう一度確認してみたところ、VitualC++で作ったものが exeファイルとしてできていました。
少し考えて思ったのですが、 ビルド≒コンパイル と捉えていいのでしょうか?
少しずつわかってくると小さな疑問が浮かんできてしまって・・・
教えていただく身ですが、よろしくお願いします。
No.1
- 回答日時:
詳細はcygwinでccのオプションなどを参照してみてください。
$ gcc test.c -o testtest.c: In function `main':
test.c:4: warning: return type of 'main' is not `int'
test.c:6:2: warning: no newline at end of file
$ ./test
Hellow World!
ヘルプは
$ man cc
で見られます。
回答をどうもありがとうございます。
ヘルプがあったのですね。
気づきませんでした・・・
見てみようかと思います。
貴重な意見、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- オープンソース stable diffusionのインストールがうまくいきません。 1 2023/06/20 13:09
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
1 つ以上の複数回定義されてい...
-
” OS ビルド ” の意味が分か...
-
<math.h>があるのにsqrtが・...
-
「fatal error C1189」を回避す...
-
必要なDBG ファイルが見つから...
-
Makefile作成時の拡張子.oとは?
-
動的な変数名のつけ方について
-
Microsoft の Visual C++ サン...
-
外部シンボル "_main"は未解決です
-
クリティカルエラー Expressio...
-
2G以上のファイル操作
-
Borland C Builder とOpenCVを...
-
C++/CLIで、アンマネージC++のD...
-
アプリケーションの配布
-
VC60とVC70の違いは?
-
VMwareのLinuxでコンパイルでき...
-
複数のサブディレクトリを一緒...
-
コンパイルエラー
-
NOTIFYICONDATAについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
<math.h>があるのにsqrtが・...
-
” OS ビルド ” の意味が分か...
-
Makefile作成時の拡張子.oとは?
-
「fatal error C1189」を回避す...
-
1 つ以上の複数回定義されてい...
-
ILSpyで、デコンパイルできない。
-
C言語でヘッダファイルにグロー...
-
エクセルVBAではRound...
-
セミコロンについて
-
マクロ コンパイルがグレーバック
-
C++コンパイル時に『 C1083: in...
-
外部シンボル "_main"は未解決です
-
PRO*C コンパイルエラー
-
コンパイルエラー:ユーザ定義...
-
クリティカルエラー Expressio...
-
ビルドとリビルドの違いを教え...
-
RPGでプログラムからソースファ...
-
戻り値について
-
C++のhppファイルをCでinclude
おすすめ情報