実現したいこと
メモ帳でC言語のソースを書いたのですがそれをbcc32でコンパイルしたいのですが、なぜかコンパイルされません
発生している問題・分からないこと
私はPHPのみしかわからない初心者の中学生なのでそんな奴にもわかるように説明してほしいです。
一応ソースコードは
#include<stdio.h>
int main()
{
printf("hello world!\n");
return0;
}
です。多分ですがbcc32がダウンロードされていないことになっているんだと思います。
しかし、ダウンロードもインストールも一応しているんです。bcc32は正常に動いているはずです
該当のソースコード
Microsoft Windows [Version 10.0.19045.5737] (c) Microsoft Corporation. All rights reserved. C:\Users\20230>cd \Users\20230\OneDrive\Documents\home C:\Users\20230\OneDrive\Documents\home>dir ドライブ C のボリューム ラベルは Local Disk です ボリューム シリアル番号は A447-2D6D です C:\Users\20230\OneDrive\Documents\home のディレクトリ 2025/04/29 19:08 <DIR> . 2025/04/29 19:08 <DIR> .. 2025/04/30 21:06 80 hello.c 1 個のファイル 80 バイト 2 個のディレクトリ 35,806,625,792 バイトの空き領域 C:\Users\20230\OneDrive\Documents\home>bcc32 hello.c 'bcc32' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 C:\Users\20230\OneDrive\Documents\home>dir ドライブ C のボリューム ラベルは Local Disk です ボリューム シリアル番号は A447-2D6D です C:\Users\20230\OneDrive\Documents\home のディレクトリ 2025/04/29 19:08 <DIR> . 2025/04/29 19:08 <DIR> .. 2025/04/30 21:06 80 hello.c 1 個のファイル 80 バイト 2 個のディレクトリ 35,806,654,464 バイトの空き領域 C:\Users\20230\OneDrive\Documents\home>path PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\dotnet\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\20230\AppData\Local\Microsoft\WindowsApps;C:\Users\20230\.dotnet\tools C:\Users\20230\OneDrive\Documents\home>path C:\borland\bcc55\Bin;%PATH% C:\Users\20230\OneDrive\Documents\home>hello 'hello' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 C:\Users\20230\OneDrive\Documents\home>
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
学校の先生には聞いたしコンピューター友達にも聞きましたけど自作pcはするけどCはしないって言われました。
補足
特になし
よく分からないのであれば、メモ帳+コマンドなんかではなく、Visual Studio(Codeではないほう)を使ったほうがいいですよ。
やっぱり潔く統合開発環境を使ったほうがいいですか。(笑)
なんとなく自分の中でC言語は統合開発環境は使っちゃいけないって感じがして(統合開発環境よりも前に開発された言語だから使ったら面白くないと思って。)コマンド使ってやりたかったんですよ
コマンドとして「bcc32」を選んだことに、なにか理由はありますか?
単純に参考にしている書籍にそう乗っていたからです
よくなかったですかね?
例えばWindows 11は64ビットバージョンのみですので、bcc32ではなくbcc64をインストールする必要があります。なお、Windows 10は2025年10月にサポートが終了します。
なるほど64ビットだからbcc64をダウンロードするべきだったんですね!!
やってみます
ありがとうございます。
提示された手順の中で、
> path C:\borland\bcc55\Bin;%PATH%
と
> hello
のあいだに、
> bcc32 hello.c
が抜けていませんかね。64bit版をインストールしたらまたコマンドが変わるとおもいますが。
# ちなみに。C言語勉強するなら、WSLをインストールしてLinux環境を手元につくり、gccを使うのもよさそうなきがします。
PATH に borland\bcc55 というのがあることから、フリーで入手できる昔の Boralnd C Compiler を使われていると思うのですが、bcc64 は無償では入手できないんじゃないかと思います。
あと、64bit版のWindowsでも、bcc32 は(ちゃんと設定すれば)実行できますし、作成されるバイナリも実行できます。(多少の制限はあると思いますが、お試しで使う分には大丈夫でしょう)
bcc32が絶対ダメともいいませんけれど、敢えて今の時代に使うのなら「なんで?」ということになります。1999年だか2000年だかのリリースだったはずで、Cの規格としても1999年版いわゆるC99にすら対応していません。as isのフリーなので、当時存在したWindows 2000までがサポート範囲で、その後のWindowsXPにも対応を謳ってはいません(win11でも動くけど)。
元々のメーカーも潰れていて(後継会社はありますが)、私の記憶では2次配布も禁止だったように思うのですが、そうだとすればどうやって入手したか、結構「グレー」ということになるでしょう。
まだ有料のコンパイラが当然の時代に無償で配布されたために一世を風靡するような状況になったので、使用例が多いというのも事実ではありますが、無償のコンパイラが普通になってしまった現代においては前世紀の遺物としかいいようがありません。
正統な後継は エンバカデロ社の https://www.embarcadero.com/jp/free-tools のC++コンパイラ(無償)ということになるでしょう。実行ファイル名称はbcc32c.exeのようです。bcc64じゃありません。中身はほぼclangという話だったかと思います。いうまでもなく「現代の」コンパイラです。(2017年版規格に対応しているかは知りません)
いえ、どうしても、どうしても、どうしてもbcc32を使うんだ「若いのに拗らせてまぁ...」と言わせてみたいとかの強い意志があるのなら止めませんけれど。
(bcc32を指定コンパイラにしている某C言語認定資格とかいう狂った物もあるけれど...)<- 久々に調べ直してみたら、さすがに「指定コンパイラ」はなくなっているようです。まだ"Borland C/C++コンパイラで対応できる"みたいな紹介はありましたけれど。
