• ベストアンサー

コンパイルオプションの書籍

お世話になります。 C言語を始めたばかりですが、コンパイル、リンクオプションを書いた 本(または、情報)はありませんか。現状、 bcc32 test.c gcc test.c ぐらいでコンパイルしてます。 算術関数を使っていてgccの場合、-lmを着けないとだめというのに かなり時間がかかりました。 borlandとgccの2つがあれば良いのですが、宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

1.gcc: コンパイラ(gccコマンド)の使い方 : http://www.ysr.net.it-chiba.ac.jp/data/cc.html GNU コンパイラ集(GCC) の使い方と移植について: http://www.sra.co.jp/wingnut/gcc/gcc-j.html 主要オプション一覧: http://argent.shinshu-u.ac.jp/lab/math/note/gcc-option.pdf 実例で学ぶGCCの本格的活用法: http://www.amazon.co.jp/exec/obidos/ASIN/4789833402/cqpub03-22/ref=nosim 2.bcc: bcc のコマンドラインオプション : http://hp.vector.co.jp/authors/VA029438/level1/bcccmdline.html C++ コマンドライン コンパイラ: BCC32: http://docs.embarcadero.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/JA/html/devwin32/bcc32_xml.html

berkel
質問者

お礼

ありがとうございます。 googleで検索しても見つからないなかったので 非常に助かりました。

その他の回答 (2)

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.3

今はオンライン情報も豊富ですが、Unix環境ならman gcc、それにinfo gccなどは基本です。もちろんそれ以外の開発ツールや、関数やシステムコールについても説明されてますし、SEE ALSOなどの関連項目から新発見があったりします。OSやコンパイラに依存する情報もありますから、オンライン情報だけあれば良いというものでもないと思います。 またどのライブラリに目的の関数が含まれるかは、大抵はmanページに書かれていますし、確認したければ、nm /usr/lib/libm.a | grep sqrtとかして調べます。それでも不明なことはSVNやCVS、ソースコードをあたる事になります。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

gcc を動かす環境が分からないんだけど, cygwin や Unix系 OS ならマニュアルを読むとうまくいくかもしれない. マニュアルが入ってなかったら知らない.

関連するQ&A

  • コンパイルできない…

    プログラミングを始めようとしてまだ3日目のど素人で、しょっぱなからつまずいてます・・・ まず、環境は以下のような状態です。 言語:C++ コンパイラ:Borland5.5 OS:Windows2000 メモ帳で簡単なソースを書いて、test.cというファイル名でc:¥cwork¥ に保存して、コマンドプロンプトからc:\cwork\ bcc32 test.c と打ち込んだのですが、「bcc32は内部コマンドとして認識されていません」 という表示が出てコンパイルできません。 環境変数のpathが原因なのでは?と考えているのですが、本(独習C)に書いてある 通りに打ち込んであるし…どこがおかしいのか分かりません。 ↑これだけだと分からない、というのであれば返信しますのでどなたか教えてくだい。お願いします。

  • コンパイル

    Cで書いたプログラムをWindowsXPに入っている コマンド プロンプトでコンパイルしたくて、 いま、やり方が書いてある本を見ながらやってるのですが、 例えばaaa.cをコンパイルするとしたら、 C:\***>+++ aaa.c とやるんと書いてあって、 本には+++にgccかbcc32って書いてあるんですけど、 それだと 『"gcc"は内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイル として認識されていません』 『"bcc32"は内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイル として認識されていません』 って出るんです。 じゃあgcc、bcc32の代わりに何を入れたらいいのでしょうか??

  • コンパイル~リンクを行いたいのですが

    freecommandlinetools2というものをインストールしたのですが、それを使用する際 C:\borland\Project\1 にcのソースファイル1_4.cがあるとして 以下のコマンドでコンパイル~リンクまで行う --コマンド-------------------- cd C:\borland\Project\1<enter> set path=C:\borland\bcc55\Bin<enter> bcc32 -I"C:\borland\bcc55\Include" -L"C:\borland\bcc55\Lib" 1_4.c<enter> ---------------------------- コンパイルエラー、リンク時のエラーがなければ C:\borland\Project\1フォルダに2_4.exe が作成されており、 コマンドプロンプトから実行する。 と、書かれていました。 コマンドプロンプトの使用フォルダをCドライブに変更したので、cdはいらないと思い、borland\Project\1でエンターキーを押したのですが、『内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません』としかなりません。そもそも<enter>というのは、エンターキーのことで良いのでしょうか? 右も左も判らない状態で、どう調べればいいのかも判らず困っています。 無知で恥ずかしいのですが、どなたかお教え頂けないでしょうか。

  • 必要なコンパイルオプションの調べ方

    コンパイルするときにリンクが上手く行かない場合があります。 必要に応じて-lmとか-lsocketとか付ければ良いのですが、必要なオプションを調査する方法を教えて下さい。

  • Cのコンパイルができない

    学生です 現在「C 入門の入門」という本を使ってC言語を勉強し始めています この中でプログラムのコンパイルにチャレンジするにあたり #include <sudio.h> main () { printf("C programming"); return 0; } というプログラムを書き、コマンドプロンプトから c:\Source>bcc32 sample.c と入力したのですが、 Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland sample.c: エラー E2209 sample.c 1: インクルードファイル 'sudio.h' をオープンできない 警告 W8065 sample.c 4: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main ) *** 1 errors in Compile *** と表示され、コンパイルに失敗しました 参考書によるとCコンパイラの設定ミスであり、bcc32.cfg と ilink32.cfg を設定を見直せと書いてあったので必死に見直したのですが、参考書に書いてあるミスのどれも当てはまらず、何度cfgファイルを書き直しても同じ結果になってしまいました ついでに書いてあったミスとは ・C:\Borland\bcc55にBinディレクトリは存在するか? ・cfgファイルは存在するか? ・ファイルの拡張子は問題ないか?表示されているか? ・記述内容は間違っていないか? の4点です いったい何が問題なのでしょうか? まったくわからないのですが、どなたか思いつく方がいらっしゃいましたらお願いします

  • 簡単なコンパイルができない。

    ごく簡単なコンパイルができません・・。 #include<stdio.h> int main(){ int i; i = 1; printf("%d" , i); return(0); } でコンパイルすると Borland C++ 5.5.1 for Win32 Copyright (c) 1993,2000 Borland C:\TM-C\c\sam.c: 警告 W8065 C:\TM-C\c\sam.c 5:プロトタイプ宣言のない関数'printf'の呼び出し(関数 main) Turbo Incremental link 5.00 Copyright (c) 1997,2000 Borland Fatal: ファイル C0X32.PBJ が開けません と表示されてコンパイルできません・・。 プロトタイプ宣言ってこの場合いらないんじゃ・・。 どなたか教えてください:;

  • Cygwinでコンパイルできません。

    CygwinをすべてDefaultでインストールしました。 テキストエディタとしてTeraPadを利用しています。 テラパッドでtest.cというファイルをつくり、 gcc -o test test.c でコンパイルしたのですが gcc:test.c:No such file or directory gcc:no input files と表示されます。 正常にコンパイルするにはどうしたらいいのでしょうか? 自分はC言語について勉強したばかりでくわしくないので、この質問を書いていて言葉足らずなところがあり説明不十分かもしれませんが、よろしくお願いします。

  • C言語のコンパイルの設定で詰まっています。

    エディタ:Notepad++ notepad++のNppExecというプラグインを使い、いろいろなサイトとファイルを参考に以下のコマンドを記述しました。 NPP_SAVE CD $(CURRENT_DIRECTORY) C:\borland\bcc55\Bin\bcc32.exe -I -L "$(FILE_NAME)" Console画面には、 Current directory: C:\[フォルダ名] Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland [ファイル名].c: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland ================ READY ================ と表示されました。 私には何をやっている文章なのかよくわからないのですが、 .cのファイルはちゃんと保存され、.exe .tds .obj のファイルができているので、コンパイルは成功していると思います。 そこで、 コンパイルしたhogehoge.exeなどをnotepad++上で実行させるためには、どのようなコマンドを記述すればいいのでしょうか? コマンドプロンプトをにbcc32などと記述してコンパイルするのは、面倒に感じるのでどうしてもNotepad上でexeを実行させたいのです。 他のテキストエディタを使う、というのは考えていません。 当方、プログラミング自体、C言語でやっとfor文を覚えたばかりの初心者なので、できるだけわかりやすい言葉で解答をいただけると幸いです。お願いします。

  • コンパイル時のエラーについて>エラー E2209 警告 W8065?

    以前にも似たような質問がでていましたが・・・ 初心者なのですが下記のようにエラーによりコンパイル出来ません。 どなたか原因のわかる方いましたらいお教え下さい。 宜しくお願いします。  C:\source>bcc32 sample1.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland sample1.c: エラー E2209 sample1.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample1.c 4: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main) *** 1 errors in compile *** もちろんbinディレクトリに bcc32.cfg【-I"c:\Borland\Bcc55\Include" -L"c:\Borland\Bcc55\Lib"】 と ilink32.cfg【-L"c:\Borland\Bcc55\lib"】 は入れてあります。 なんでできないんでしょかTT

  • コンパイルの仕方が分かりません。

    とあるC言語で書かれたプログラムのコンパイルをしたいと思っているのですが、うまくいかないので質問させて頂きました。 環境はwindowsです コンパイラは bcc developer という Borland C++ Compiler をGUIで使える簡易IDEを使っているので Borland C++ Compilerと考えてください。VC++での方法でも大丈夫です コンパイルの仕方を検索するとハローワールドレベルのプログラムのコンパイル方法ばかりがでてきてしまいます。ですが、私がしようとしているのはオープンソースの他の方が書かれたものをダウンロードしてきてコンパイルするということなのです。 main関数が存在するファイルを発見し、「ここから全てのファイルがincludeされているんだろうからこれ一つをプロジェクトに加えてコンパイルすればいいのだろう」と考えてコンパイルすると関数の未定義エラーが大量に発生しました。 かといって全てのファイルをプロジェクトに追加するとなると量がとても多いのでかなり大変そうです。大変なのはいいのですが本当に皆さんがそんな方法でやっているのかも分からないし、それでやってもうまくいかないような気がします。 win32APIを使用している部分があったのでwinwosアプリケーションモードでコンパイルしてもやはりダメです。そもそも未定義エラーが出ているのはそれとは関係のないと思われる関数です。 調べてみるとインクルードパスに追加して・・などという記述をインターネットで発見したのですがこの辺りもよく分かりません。 とにかく、ディレクトリ階層が複雑になっている規模のおおきなプログラムのコンパイルの手順が分からないのでこのあたりについてお教え頂きたいです。 よろしくお願いします。