プロが教える店舗&オフィスのセキュリティ対策術

ボーランドのC/C++コンパイラーを使ってますが、ソースをコンパイルしたら3つファイルが作成されました。
ソースの名前がPROG4で新しく出来たのが、PROG4.obj,
PROG4.tds,PROG4.BAKです。プログラムを実行するには
どうしたらいいでしょうか?又この3つのプログラムは何をさしますか?

A 回答 (10件)

>プログラムを実行するにはどうしたらいいでしょうか?



実行するといっても実行ファイルが生成されていないようです。
PROG4.objがあるのでコンパイルはできたようですが、おそらくリンクはできていません。

>ソースをコンパイルしたら3つファイルが作成されました。

とありますが、どのような作業をしたのでしょうか
bccはオプションなしでコンパイルするとEXEファイル作成までしてくれた気がするのですが…。


>又この3つのプログラムは何をさしますか?

PROG4.obj コンパイルで生成されたオブジェクトファイル
PROG4.tds コンパイルで生成された中間ファイル
PROG4.BAK たぶんバックアップファイル

この回答への補足

私が行った作業は、ソースのあるディレクトリに移動して、BCC32 PROG4.cと入力しました。特にオプションをカスタマイズしていません。リンクするにはどうしたらいいですか?

補足日時:2004/11/27 22:50
    • good
    • 0

 .objは、中間ファイルの1つで、1個の.cソースファイルに対して1個生成される。

Windowsでは最終的に実行ファイルは必ず.exeになる(.dllや.cplもあるけどまぁ例外という)。
 .bakというのは文字通りバックアップファイルだ。何のバックアップかは知らない。
 .tdsって何やろね。その辺はBorland独自の話なのだろうな。私はBorlandのコンパイラはちらっと試した事しかないのでこのあたりはあまりよく分からない。
    • good
    • 0

.tdsはデバッグ用の情報が入っています。


BC++付属のデバッガがTurbo Debuggerなのですが、tdsは恐らくTurbo Debugger Symbolsの略。
    • good
    • 0

拡張子をcppにして


すなわちPROG4.cppに改名して
bcc32 prog4
と打ちリターンすればexeファイルができます

この回答への補足

CをコンパイルするのにC++の拡張子でいいですか?

補足日時:2004/11/28 20:51
    • good
    • 0

>私が行った作業は、ソースのあるディレクトリに移動して、


>BCC32 PROG4.cと入力しました。特にオプションをカスタマ
>イズしていません。リンクするにはどうしたらいいですか?

何もオプションを指定してなかったらコンパイルと同時にリンクまでして.exeができるはずなんだけどな。
ま、何らかの理由で.exeはないけど.objはあると言うのなら
bcc32.exe -ePROG4 PROG4.obj
でPROG4.exeができるはず。
    • good
    • 0

補足を読みました。



>私が行った作業は、ソースのあるディレクトリに移動して、BCC32 PROG4.cと入力しました。特にオプションをカスタマイズしていません。リンクするにはどうしたらいいですか?

手元の環境(win2000)で試したのですが、「BCC32 PROG4.c」を実行するとPROG4.exeが生成されるはずです。エラーになるわけでもなくPROG4.exeも生成されないとなると、私には原因がわかりません。対処方法としてはANo.5の方の方法を参照してください。
    • good
    • 0

コンパイルは通っている(エラー表示がなくなった)のでしょうか?


関数名を間違えたときなど、*.objファイルはできますが、リンク時にエラーが出るはずです。この場合、*.exeはできません。

リンクのエラーが出てなければ、リンカーが起動できてないのでしょうか。。ilink32.exe は実行できますか?

この回答への補足

最初はエラーを出しましたが修正してしっかりコンパイルできました。ilink32.exe を実行すると 何やら表のようなものが15行表示されますが。

補足日時:2004/11/28 20:47
    • good
    • 0

「ilink32.cfg」のファイルを作成しました?



作成方法は、「BCC55」フォルダの「readme.txt」にあります。

この回答への補足

ilink32.cfg作りました。

補足日時:2004/11/28 20:42
    • good
    • 0

CをコンパイルするのにC++の拡張子でいいですか?:



勿論言いのです
C++をコンパイルするのにCの拡張子は駄目ですが
上位コンパチなのでOKです
CPPにすると
bcc32 prog.cpp
としなくても
bcc32 prog
でよくなります
プログラムでC++のSTLを使いたくなったときにはそのまま使えますが.cで駄目です
今後のことを考えて今からcppにしておきましょう
    • good
    • 0

ilink32.cfgではなくてbcc32.cfgだったとおもいますが、


なければ作成してください。Readmeにあったとおもいます。

または、下記パラメーターつけて実行してください。

bss32 -I"c:\Borland\Bcc55\include" -L"c:\Borland\Bcc55\lib" PROG4.c

余談
>CをコンパイルするのにC++の拡張子でいいですか?:

可能ですが、あくまでC++としてコンパイルされたことになりますので構文をCの範囲で限定されたい場合は.cとしておいた方がいいと思います。

なかには、cでは許されているがC++では許されていない事もあります。逆もあります。(その場合警告が発生すると思います)
とくに何かのテキストをそのまま用いたりしたときに思わぬところでつまずいたりします。

またオプションを使用すればANSI Cに限定することもできます。

もっとも、言語の主流的にはCよりはC++,C#になってきているので、C++を勉強していくのを前提にするのであれば.CPPとしてC++を勉強されるといいと思います。
ただし、情報処理の試験等では許されなくなるので注意が必要です。CはあくまでもCですから。

この回答への補足

-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib" PROG4.c
-Iの前は何ですか? -Lの前は何ですか?
何の後ろにつけていいのかわかりません。
ssではなくてbccですよね?

補足日時:2004/11/29 19:06
    • good
    • 0

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