質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

3回答

464閲覧

メモ帳でC言語のソースを書いたのですがそれをbcc32でコンパイルしたいのです。

korattu3

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2025/04/30 12:47

実現したいこと

メモ帳で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はしないって言われました。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred

2025/04/30 13:04

よく分からないのであれば、メモ帳+コマンドなんかではなく、Visual Studio(Codeではないほう)を使ったほうがいいですよ。
korattu3

2025/04/30 13:29

やっぱり潔く統合開発環境を使ったほうがいいですか。(笑) なんとなく自分の中でC言語は統合開発環境は使っちゃいけないって感じがして(統合開発環境よりも前に開発された言語だから使ったら面白くないと思って。)コマンド使ってやりたかったんですよ
maisumakun

2025/04/30 14:12

コマンドとして「bcc32」を選んだことに、なにか理由はありますか?
korattu3

2025/04/30 15:10

単純に参考にしている書籍にそう乗っていたからです
korattu3

2025/04/30 15:11

よくなかったですかね?
melian

2025/04/30 15:19

例えばWindows 11は64ビットバージョンのみですので、bcc32ではなくbcc64をインストールする必要があります。なお、Windows 10は2025年10月にサポートが終了します。
korattu3

2025/04/30 16:24

なるほど64ビットだからbcc64をダウンロードするべきだったんですね!! やってみます ありがとうございます。
shiketa

2025/04/30 23:39

提示された手順の中で、 > path C:\borland\bcc55\Bin;%PATH% と > hello のあいだに、 > bcc32 hello.c が抜けていませんかね。64bit版をインストールしたらまたコマンドが変わるとおもいますが。 # ちなみに。C言語勉強するなら、WSLをインストールしてLinux環境を手元につくり、gccを使うのもよさそうなきがします。
bsdfan

2025/05/01 04:05

PATH に borland\bcc55 というのがあることから、フリーで入手できる昔の Boralnd C Compiler を使われていると思うのですが、bcc64 は無償では入手できないんじゃないかと思います。 あと、64bit版のWindowsでも、bcc32 は(ちゃんと設定すれば)実行できますし、作成されるバイナリも実行できます。(多少の制限はあると思いますが、お試しで使う分には大丈夫でしょう)
thkana

2025/05/04 06:17 編集

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++コンパイラで対応できる"みたいな紹介はありましたけれど。
guest

回答3

0

コメント含めて書きます。

コマンド使ってやりたかったんですよ

とてもいいと思います。 将来IDEを使うことになったとしても、コマンドラインで得た知識と経験は貴重なものになります。
個人的には複数ソースとmakeを使った簡単なプログラムくらいまで経験しておくといいと思います。

メモ帳でC言語のソースを書いた

古のプログラマでもさすがにメモ帳のようなプログラム開発支援機能の全くないエディタは使ってなかったはずなので、サクラとかvscodeを単なるエディタとして使うとかしたほうがいいと思います。

「bcc32ではなくbcc64をインストールする必要があります。」というコメントがありましたが、32ビットバイナリでも動かせるはずです。
https://learn.microsoft.com/ja-jp/troubleshoot/windows-server/performance/compatibility-limitations-32-bit-programs-64-bit-system

コメントにWSLなどのLinuxを使ってはというのがあります。それには賛成で、早めにそちらに乗り換えるのがいいと思いますが、Windows側でもできるはずのことはやっておいていいと思います。


ということで、まずは、「インストールされているはず」のbcc32を使えるようにしましょう。

エラーメッセージを見ると、コンパイルした時点でbcc32にパスが通っていません。
また、その後で、PATHにbcc32のパスを追加しているようですが、その後にコンパイルしていないようです

コマンドがみつからずパスを修正したのですから、いきなりhelloを実行するのでなく、その状態でコンパイルしてそれが正常に終了する必要があります。

ちなみに、変更した後に内容を確認する手順を入れたほうがいいでしょう。変更したのであれば、変ったはずではなく、再度PATHを表示して変更したことを確認すべきです。

投稿2025/05/01 01:29

編集2025/05/01 02:52
TakaiY

総合スコア14286

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そもそも「プログラミング」というのはコンピュータに言うことを聞かせるお作法なのですから、PHPだとかCだとか言う前に「コンピュータはなにをしているの」という知識無しには話が始まらないような気もします。
まぁ、コンピュータと言ってもWindowsとかの皮を被っているのでその次元での話になりますけれど、

コンピュータには、「補助記憶装置」、しばしば「ストレージ」と呼ばれるものがついていて、そこに命令の塊(いわゆる実行ファイル)だとかデータの塊だとかを放り込んでおいて、必要に応じて引っ張り出して使います。
「ダウンロード」はしばしば外部の装置などから自分のストレージにデータを取得することを言います。データを取得する行為ですからあなたがしたかどうかであって「されていないことになっている」ようなことは考えられません。
「インストール」は、実行ファイルや関連するデータファイルを適切に配置、その他の条件を設定してプログラムが適切に実行できるようにすることです。今回は適切に実行できていないのですから「インストール出来ていない」としか言いようがありません。「したつもり」かどうかは関係なく。

bcc32は正常に動いているはず

「はず」といくら唱えても意味がありません。敢えて固い言い方をすれば「こういう事象が確認できるので、正常に動いていると判断できる」ということを示してください。
大抵の間違いは「ちゃんとやったつもり」の結果なのですから、間違いを防ぐためにはちゃんとやったと「確認する事実」を積み上げるのがとても有効な手段です。

とりあえず質問を読む限りでは...
PATHというのは、「実行ファイル名が与えられたとき、リストにある場所に実行ファイルがあるかどうか探す」ためのリストです。bcc32.exeというファイルを実行出来るためには、bcc32.exeが「カレントディレクトリ」にあるか、あるいはPATHのリストに書かれた場所のいずれかにあるかである必要があります。しかしながら、pathを調べた段階ではC:\borland\bcc55\Binはリストにありません。つまり、「インストールしたつもり」のコンパイラは、システムにその在処を知らされていない(つまりインストールできていない)ということです。

もし、C:\borland\bcc55\Binにbcc32.exeが存在するのなら、
まず
C:\Users\20230\OneDrive\Documents\home>path C:\borland\bcc55\Bin;%PATH%
として、システムにbcc32.exeの在処への道筋を教えてから
bcc32 hello.c
としてbcc32にパラメータhello.cを与えて起動してください。コンパイルが行われます。
エラーなどなければそれによってカレントディレクトリにhello.exeが生成され、
hello
とすることで作成したプログラムが実行されるはずです。(この「はず」は、私には、というか質問者さん以外には確認手段がないから...)

とりあえず、トラブルに嵌まったときには「はず」「つもり」という言葉は一切使わないで、目の前の事象をしっかりと観察、考察しましょう。

投稿2025/05/01 13:15

編集2025/05/01 22:09
thkana

総合スコア7731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

新たにプラグラミングを始めた方がBCC32でコンパイルすることは不可能です。なぜなら、BCC32はEmbarcadero社(BCC32の著作権を持っている会社)からの配付が終了しているからです。以前ダウンロードしていたという事がない限り、BCC32の入手は不可能です。持っている誰かから貰うと言うことも、その人がEmbarcadero社に特別な許可を得ていない限り、違法なコピーになるので、止めた方がいいでしょう(罪に問われるのは、コピーを渡した人ですけど)。もし、どこからダウンロードしたというのであれば、それは違法にアップロードされたものか、ウイルスなどが仕込まれた偽物である可能性が高いです。早急に削除することを推奨します。

一つ注意してほしいのは、BCC32Cという似たような名前のコンパイラーが存在することです。このBCC32Cは今でも無料でダウンロードできます。しかし、BCC32とは違います。BCC32CはBCC32の代替になるコンパイラーとして開発されたことは確かですが、BCC32C自体はClangというBCC32とは別のコンパイラーを元にしており、BCC32と完全な互換性を持つわけではありません(コマンドラインの引数は互換性が持つようにしています)。

これらを踏まえてあなたがすべきことは「BCC32でコンパイルする」ということを諦めることです。もし、あなたが参考にしているサイトなり書籍なりがBCC32を前提にしているという話であれば、すぐさま、そのサイトの閲覧を禁止し、書籍であればブックオフにでも売ってください。それらのサイトや書籍は古すぎて、役に立たないばかりか、害悪です。使用しているOSもWindows XPとかだったりする可能性があり、Windows 11では全く異なる部分もでてきます。例えば、「メモ帳」を使う場合、昔の日本語版WindowsではWindows-31Jという文字コードでしたが、Windows 11 24H2の「メモ帳」のデフォルトの文字コードはUTF-8です。この違いによって、コンパイラーやオプションの指定方法によっては、コンパイルエラーが発生したり、文字化けが発生したりする場合があります。(もし、言っている意味がわからなかったという場合は、知識を持たずに、昔の書籍を参考するのはそれほど危険であると言うことさえ覚えておいてください。)


あなたがすべきことをまとめます。

  1. 今参考にしているサイトまたは書籍の閲覧を止める。(サイトならブックマークから削除、買った書籍ならブックオフに売る、借りている書籍なら図書館に返す)
  2. Windows11に対応したC言語の入門や環境構築が書かれたサイトまたは書籍を探す。
  3. それらのサイトまたは書籍を参考に、C言語を学ぶ。

以上です。古い情報は、何が変わったのかの知識を持たずに参考にすることはとても危険です。常に、情報が最新であるのかを意識してください。

投稿2025/05/03 07:38

raccy

総合スコア21745

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raccy

2025/05/04 04:57

辞めるべきです。学生が絶対に用意できない環境で教えるということ自体がナンセンスです。そんなレベルが低いところで学ぶこと自体がお金の無駄です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問