WindowsのライブラリにDLLやLIBといった形式があり、それぞれ「動的リンクライブラリ」「静的リンクライブラリ」となっていますが、
静的リンクライブラリとしてビルドされたライブラリを、動的に実行プログラムにリンクさせることは(Cやアセンブラなどの)実装次第で可能なのでしょうか?
ビルド時にリンカがやってくれてることを実行時に行えればOK・・・という素直な話ではないのでしょうか。DLLも実行時にGetProcAddress()などを使ってアドレス解決をするわけですし、LIBでも同じことをするのは不可能ではないのでは?と思ったのです。
※動的/静的リンクの概念や具体的な使用方法などはネット上で調べることができましたが、中身にまで踏み込んだ解説をしているページには巡り合えませんでした。そういう具体的な解説のあるページの紹介だけでもとても助かります。また、「根本的に思い違いをしてるんでは?」というご指摘も非常に助かります。
※私自身↑に対する需要はないのでコスト・メリットとかは度外視です。興味本位というやつです。
※別段、Windowsやライブラリの形式にこだわりがあるわけではないですが、これが一番メジャーだろう、ということでWindowsのDLL/LIBを対象に質問させて頂きました。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
プログラムがリンカの機能を内蔵すれば可能でしょう。
同じくコンパイラを内蔵すればCソースコードをリンクして実行することもできます。ファイルフォーマットは、DLLはEXEと同じでPE(Portable Executable)です。
LIBは、VCだとCOFFフォーマットだと思う。下記参照。
# http://msdn.microsoft.com/en-us/windows/hardware …
コンパイラまで内蔵してしまったら、本当にそれはコンパイル言語なのか、よくわからなくなってしまいますね(笑)
しかしまあ…プロセスの中でlibが生きてる時間は通常の静的なリンクと変わりがないわけで、それをもって「動的リンクした!」と言えるのかどうかは私としてはやや疑問のあるところです。
興味深い回答、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- iPhone(アイフォーン) 「ライブラリ」ってどこの事ですか? ※ 英語の勉強のために Amazon で買物をしたいのですが、「 2 2023/07/14 22:04
- 物理学 台と小物体合わせた全体の水平方向の運動方程式 とは? 8 2022/09/02 06:33
- ノートパソコン パソコンのiTunesライブラリにエクスプローラーにある曲を引っ張って来てリンクさせたいのですが、エ 1 2023/04/06 07:49
- 日本語 「に」について 9 2022/10/25 16:32
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- 英語 ”be”<動詞>と<助動詞>混同の誤り ― 形式主義文法論の混迷 12 2022/05/17 11:09
- 日本語 <助詞の話──場所を示す「に」と「で」>という誤り 1 2023/05/17 00:06
- 哲学 概念について 1 2023/04/09 15:09
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で複数マッチ条件で悩...
-
RTKPOSTのファイル生成について
-
プログラミング
-
プログラミング ソースコード
-
windowsでテキストファイルの各...
-
Pythonって何を意識した言語な...
-
vba クリップボードクリアにつ...
-
Webサイト内に埋め込んだmp4動...
-
Arduinoに関する質問
-
chatGPTで次々と質問をしていく...
-
REGZAに接続できない(パソコン)
-
【IT導入補助金は個人事業主や...
-
そのまま使っただけなのに・・...
-
パイソンのプログラミングにつ...
-
I2C接続のLCDディスプレイを使う
-
昔のパソコン少年の武勇伝「店...
-
Pythonのスクレイピングの質問...
-
Pythonのライブラリをダウンロ...
-
P2P地震速報のEEW APIの仕様書...
-
フォルダを自動作成・移動を複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UNIX上のプログラムで使うライ...
-
.NET(C#)でのスタックオーバー...
-
拡張子.niiのファイルの開き方...
-
Excel VBA のstr()関数でエラー
-
DXライブラリの画像の表示の仕...
-
PHPとMYSQLでトーナメント表作成
-
MakefileのLDLIBSとLOADLIBESの...
-
Googlemapのように画像を拡大・...
-
ファイルの圧縮/解凍(Zlib)に...
-
QRコード作成ライブラリ
-
OSX写真アプリへの複数のライブ...
-
【C#】PDFの作成や編集について
-
dxライブラリで作ったpcゲーム...
-
ライブラリParamQuery gridにつ...
-
PDFファイルの文字を取得するプ...
-
オブジェクトライブラリ
-
DxライブラリをVisualstudioを...
-
DLLについて。
-
AGPLとGPLのDLLを同時使用できるか
-
コンパイル時のエラー
おすすめ情報