![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e6f04cf)
お世話になります。現在、C言語でプログラムを作成してますが、
自作ライブラリの作成方法について教えてください。
現在は、1つのfileにmain()と関数を両方記述してます。
(少々、見にくく解消したいのですが良い本がみつかりません)
知りたいことは、
1)ライブラリのコンパイルから作成方法
2)headerの書き方
3)それらの保存場所、他、環境設定
※入門書は、かなり読みましたがずぶの素人です。
もし良い本があれば紹介ください。
環境は、
BCC(WINDOWS)
GCC(linux)
を使ってます。
宜しくお願いします。
No.3ベストアンサー
- 回答日時:
他の人との共同作業ですね。
分かりました。1)ライブラリのコンパイルから作成方法
gccとbccではライブラリが違いますので兼用できません。
どちらかに固定することをお勧めします。
gccの場合はオブジェクトファイルを作って、それをarコマンドでライブラリ化します。毎度コンパイルとライブラリ作成コマンドは面倒なのでmakeを記述するほうが良いでしょう。
下記ページにある静的ライブラリを作ります。
http://www.linux.or.jp/JF/JFdocs/Program-Library …
http://www.linux.or.jp/JF/JFdocs/Program-Library …
bccはやったことないですが、こんな感じみたいです。
http://d.hatena.ne.jp/idegman/20081226/p2
2)headerの書き方
そのライブラリに含まれる関数を呼び出すのに必要なものを記述します。
・extern宣言の関数プロトタイプ
・#defineされた定数
・enumの定数。
・構造体
などです。
3)それらの保存場所、他、環境設定
コンパイル時のオプションで場所を指定できるので何処でも良いですが、標準関数と同じ場所に置くのは感心できません。専用のフォルダを用意してください。
配布方法はライブラリファイルとヘッダを渡すことになります。ソースコードはライブラリ内のデバッグしてもらわない限り不要です。
No.2
- 回答日時:
確認しますが、ライブラリファイルは何のために作るか理解されてますか?
・複数のプログラムで同じ機能を使い回したいとき。
・作った関数の機能を他の人に提供したいとき。
・あまりにもプログラムの一部の関数群が大きなコードなのでコンパイル単位を分けてコンパイル時間を節約したいとき。サウンド関数群とかまとまった単位でライブラリ化する。
などがライブラリを作る理由です。
質問内容を見る限りは、単にmainと関数群のファイルを分割したいだけに見えます。どうなんでしょうか?
この回答への補足
お世話になります。
現在、評価のための係数を計算するための関数を数本作って
ます。具体的には、計算したデータ(float)を精度違いの固定小数点に
変換するものです。現在は、私1人で環境を作って評価しょうとしてますが、次のフェーズでは
2,3人で評価検討に使うので、そうするのが必要かなと考えます。
あとの目的としては、この機会に”Cプログラミングのスタイル”及び管理を改めたいと考えている次第です。
仕事の担当上、テスト用データを作成するためにCでプログラミングすることもありますが、ほとんど"a.out"で、その場限りのプログラミングです。
これを見直したいと考えてます。
以上、連絡致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- Visual Basic(VBA) Access VBAから使用したExcelプロセスを閉じる方法について 4 2022/06/08 17:50
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- ASP・SaaS イントラネットを構築したい 2 2022/04/24 11:08
- 音楽・動画 Apple Musicのプレイリストに曲を追加できません 1 2022/08/21 01:24
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- Word(ワード) PCで作ったwordをスマホで編集しようとすると「このファイルは読み取り専用です。」と表示される。 3 2023/05/30 14:51
- アニメ アニメ製作が形成してきたパターンや方式と今後について 2 2023/08/11 03:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語階乗の総和を求める
-
Python、プログラミングについ...
-
c++でテンプレートのコードでわ...
-
gccを行ってもexeファイルが生...
-
c言語
-
プログラム内から、MIDIファイ...
-
win10で、正確な待ち時間の作り方
-
応用情報技術者試験の令和元年...
-
大量のデータを読み込んで表示...
-
右ビットシフト
-
C言語 配列と関数の練習問題
-
gcc13.2のバグ?
-
C言語 入力した値から0までの数...
-
C言語 コマンドプロンプトにつ...
-
プログラミングの課題がわから...
-
なんで
-
バッチファイルで以下のような...
-
インクリメント演算子のみを用...
-
プログラミングについて。 1つ...
-
double型が正常に認識されてい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UNIX上のプログラムで使うライ...
-
拡張子.niiのファイルの開き方...
-
MakefileのLDLIBSとLOADLIBESの...
-
DXライブラリの画像の表示の仕...
-
.NET(C#)でのスタックオーバー...
-
windows media playerでdropbox...
-
【C#】PDFの作成や編集について
-
Excel VBA のstr()関数でエラー
-
Googlemapのように画像を拡大・...
-
PDFファイルの文字を取得するプ...
-
FPGAで立ち下がりエッジ動作FF
-
ファイルの圧縮/解凍(Zlib)に...
-
C言語 画像処理 jpeg → pgm
-
DXRubyのインストールの仕方を...
-
Unsatisfied code symbol エラ...
-
Excel 参照設定ActiveDirectory
-
pthreadのソースの入手方法
-
自作ライブラリの作成方法
-
コンパイル時のエラー
-
ライブラリ内の処理中における...
おすすめ情報