• 締切済み

関数ライブラリの登録方法について

C言語初心者です。 プログラマーが関数を作成して関数ライブラリに 登録し、他のPGでも再利用できると聞きました。 関数ライブラリに登録するにはLibフォルダに登録するのでしょうか? 登録方法もいまいちわかりません。 もしよろしければ教えていただけないでしょうか。

みんなの回答

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.2

Windowsにおける.DLL、Mac OS Xにおける.dylib、Linuxにおける.soのようなものを想定していますか? Windowsを例にとれば、何らかの機能を提供する.DLLファイルを作成することで、その機能を複数の実行ファイル(.EXE)から共有することができます。 http://ja.wikipedia.org/wiki/%E3%83%80%E3%82%A4%E3%83%8A%E3%83%9F%E3%83%83%E3%82%AF%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

「関数ライブラリ」とは、具体的にどのようなものを想定していますか? 「登録」とは、具体的にどのような結果を期待した操作を想定していますか? 対象となる処理系は何ですか?

sesame0104
質問者

補足

OSはWindows Microsoft VisualBasic C++ 6.0 登録とは本に書いてあったのでよくわかりませんが 標準関数のようにライブラリに定義?を書き込むことだと 思っていました。 そして、そのライブラリとオブジェクトモジュールでリンク させて実行ファイル(.EXE)を作ることだと認識しています。

関連するQ&A

  • ライブラリ??

    VCをつかってコーディングしています。 C言語仕様のネットワークプログラミングです。 socketをつくりデータのやり取りをするのですが gethostbyname()という関数が動作しません。 ちゃんとコンパイルもビルドもとおります。 ライブラリもwsock32.libやws2_32.libをリンクしています。 なにが原因なのかわかりません。 WINDOWSがまずいのでしょうか? 宜しくお願いします。

  • 標準ライブラリー関数を使用せずに文字出力

    はじめまして、C言語初心者です。 研修で、C言語を学ぶことになったのですが研修先から頂いた練習問題で「練習のため標準ライブラリー関数は使わない」で文字列を連結するための関数を作ることになったのですが、標準ライブラリー関数を使用せずに文字出力はできるのですか??

  • C++での静的ライブラリの作成方法

    C++での静的ライブラリの作成方法 今まで独学でC++を勉強してきたのですが、既存ライブラリのラッパーを作りたいと思います そこで、色々なサイトなどで調べてみたのですが、いまいちライブラリというものについて納得の出来る解説のあるサイトが見つからなかったので、質問させて下さい まず私が元にするライブラリの構成は hoge.h foo.lib bar.lib となっており、その関数などを使用する独自型のクラスや、それをさらに扱うクラスなどを作っています その場合、ふたつのクラスをひとつのlibファイルに一緒にしてもいいものなのか、 はたまた分けてそれぞれlibファイルにするのか、 複数できたヘッダはプロジェクトに追加するときどれを入れるのか、 インクルードやリンクはどこに張ればいいのか、 libファイルにヘッダは含まれているのか、など 基本的なことが全然わからず、身近に聞ける人もいなくずっと手探り状態です よろしければ全体のファイル構成や作り方、使い方などの基本的なことから教えて下さい あと別件なのですが、クラスのインスタンスが生成されたときにメンバ変数はメモリに動的に配置されると思うのですが、メンバ関数はどうなるのでしょうか? インスタンスごとに同じく生成されるのか、宣言の時に既に一箇所に用意されていて、毎回そこに飛ぶのでしょうか? よろしくお願いします!

  • C言語のライブラリ

    C言語の初心者でただいま勉強中です。 今ちょうど、関数のところでライブラリについて 勉強しているのですが ライブラリのソースがどうなっているのか気になっております。 どうにかしてライブラリのソースを見る方法はないでしょうか?

  • ゲームを作成する時

    題名と違いますが、プログラマーになるためにはどのような言語を学べばいいのですか? ひとえにプログラマー言いましてもたくさんあると思いますが一番使われている言語はやはりC言語でしょうか? あとC言語でゲームを作成するときには外部ライブラリというものを使いますよね? たとえばDrawGraph()はDXライブラリで出てきますが、こういう関数はすべて暗記したほうがよいのでしょうか?

  • C言語のライブラリ関数の勉強の仕方

    はじめまして、私はC言語を勉強中の初心者です。 基本的な構文などを理解して、標準ライブラリ関数を勉強して行こうと思ったのですが、うまく勉強できずに苦戦しています。そこで2つ聞きたいことがあります。 1.普通標準ライブラリ関数はどの程度覚えるものなのでしょうか? 徹底的に網羅するのか、一般的なところは押さえて後は適当にやるのか、などを知りたいです。 2.関数はどうやって勉強したらいいのでしょうか? 私は細かいところまで徹底的に覚えたいタイプで、今は、自分のコンパイラ(VC++ 2008)のincludeフォルダにあるヘッダファイルを調べ、関数のプロトタイプ宣言をしてあるところを見つけて関数名を洗い出し、その関数名で検索を掛けて関数を覚えていく、という方法を取っているのですが、これだと恐ろしく効率が悪いです。皆さんはどうやってライブラリ関数について勉強していったのでしょうか? 質問したいのは上記の2点です。回答よろしくお願いします。

  • ライブラリの修正方法

    急ぎの要件を手探りで行っているので、準備不足、知識不足での質問となりますがご容赦ください。 OpenSolarisを使用していますが、OpenSolaris上で開発する際に使用するC言語の共有ライブラリを一部修正したいと考えています。(例えば、getnameinfo()が含まれるlibsocket.so) 目的の関数のソースコード修正は行ったのですが、この修正ソースを反映させて共有ライブラリを作成する方法がわかりません。 ライブラリのソースコードに同梱されているMakefileを使用すればできると思ったのですが、共有ライブラリは更新されません。(タイムスタンプから判断しました。) C言語で使用する関数を修正し、共有ライブラリに反映させるような場合は一般的にどのような方法をとるものなのでしょうか? ご存知の方がおられましたらご教示いただければありがたいです。

  • 静的/動的リンクライブラリについて

    Pythonのctypesを使っていてふと気になったので質問させていただきます。 Cと少々Java、程度の経験しかなかった私にとって、ctypesによって「Cのデータ型を利用できる」「dllをロードして、エクスポートされている関数を使用できる」というのは衝撃でした。 しかし、考えてみれば、仕組みとして理解できなくもない・・・かな?と現在は思っています。 ただ気になったのは、  ・どうして静的リンクライブラリ(.lib)の方は対応してないの? ということです。 [質問1]これは原理的に不可能なのでしょうか、それともctypesやPythonの仕様としてできないだけなのでしょうか。 (おそらくは「原理的に不可能」なのだろう、と個人的には思っておりますが・・・。) 以下は私の中の解釈ですが、 ・マシン語として実行可能な形式になっているdllは、実行時のリンクの機構さえ整っていれば別にC言語でなくともロードや中身のコードを利用することはできる。 ・また、Cのデータ型についても、要は型のバイト数やフォーマット(つまり内部的な扱われ方)をPythonインタプリタが押さえていれば良い話であるから、PythonでCの型を使用することは原理的に可能。 さて、 [質問2]それではlibはどうか。 libもコンパイル済みのものであるなら、Python(またはC以外の言語)からlib内のコードを利用することはできるのではないか? どちらかのみの回答でも結構です。 また、解釈の誤りについてのご指摘や、リンクライブラリの仕組みを解説したページを教えてくださると助かります。 よろしくお願いします。

  • 自作ライブラリの作成方法

    お世話になります。現在、C言語でプログラムを作成してますが、 自作ライブラリの作成方法について教えてください。 現在は、1つのfileにmain()と関数を両方記述してます。 (少々、見にくく解消したいのですが良い本がみつかりません) 知りたいことは、 1)ライブラリのコンパイルから作成方法 2)headerの書き方 3)それらの保存場所、他、環境設定 ※入門書は、かなり読みましたがずぶの素人です。  もし良い本があれば紹介ください。 環境は、 BCC(WINDOWS) GCC(linux) を使ってます。 宜しくお願いします。

  • PHPからのライブラリ関数コール

    あちこち検索したのですが、うまくヒットしません。 Linuxにて作成したC言語のダイナミックリンクライブラリ(xxxxx.so)の関数をPHPから実行することは可能でしょうか。実現可能であれば、PHP側ではどのような手順が必要ですか。よろしくお願いします。

    • ベストアンサー
    • PHP