Page Top

どのような形式で利用するかを選択する anchor.png Edit

C言語のライブラリといっても、その形態は様々で、WindowsでDLLを使用したライブラリ(たとえばDirectX)や、ヘッダファイルのみで構成されるようなライブラリ(たとえばWTL)、static libraryとして組み込むことが可能なライブラリ(たとえばzlib)などがあります。

それぞれによってD言語での利用方法も異なってきますので、場合によって書き分ける必要が生じます。

  • WindowsのdmdでDLLを静的リンクして利用する
  • WindowsのdmdでDLLを動的リンクして利用する
  • Windowsのdmdでlibファイルを静的リンクして利用する
Page Top

WindowsのdmdでDLLを静的リンクして利用する場合 anchor.png Edit

必要となる作業は、以下となります

  • C言語用のヘッダファイル(*.h)からD言語用のファイル(*.d)に書き換える(ポーティング)
  • ポーティングした*.dファイルを静的ライブラリとしてコンパイルして、*.libファイルを生成する。
  • DLLからimplibを用いて*.libファイルを生成する。またはcoffimplibを使用してVisualStudio用などのlibファイルからdmd用のlibファイルに変換する
  • ライブラリのインストール(.dファイルをimportできるようにする)
  • 2つのlibファイルをコンパイル時に指定してコンパイル
Page Top

WindowsのdmdでDLLを動的リンクして利用する場合 anchor.png Edit

必要となる作業は、以下となります

  • ライブラリの関数が使用する型の定義
  • ライブラリの関数の型の定義
  • ライブラリの関数ポインタ変数の定義
  • ライブラリのロード
Page Top

Windowsのdmdでlibファイルを静的リンクして利用する場合 anchor.png Edit

必要となる作業は、以下となります

  • dmcでlibファイルのコンパイル
  • ヘッダファイルの書き換え(ポーティング)
  • ライブラリのコンパイルとインストール
  • dmcで作成したlibファイルをコンパイル時に指定してコンパイル
Page Top

ヘッダファイルの書き換え(ポーティング) anchor.png Edit

Page Top

Cの型からDの型へ変換する anchor.png Edit

Page Top

関数のプロトタイプをDに変換 anchor.png Edit

Page Top

注意点 anchor.png Edit

Page Top

静的リンク用の定義 anchor.png Edit

Page Top

ポーティング anchor.png Edit

Page Top

ライブラリのコンパイルとインストール anchor.png Edit

Page Top

動的リンク用の定義 anchor.png Edit

Page Top

ライブラリの関数が使用する型の定義 anchor.png Edit

Page Top

ライブラリの関数の型の定義 anchor.png Edit

Page Top

ライブラリの関数ポインタ変数の定義 anchor.png Edit

Page Top

ライブラリのロード anchor.png Edit

Page Top

投票とコメント anchor.png Edit

Choices Vote
大変参考になった0  
参考になった0  
あまり参考にならなかった0  
まったく参考にならなかった0  

No comment. コメント​/HowTo​/C言語のライブラリを使いたいEdit

Name:

Front page   Edit Freeze Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 3142, today: 1, yesterday: 0
Princeps date: 2009-12-04 (Fri) 22:08:54
Last-modified: 2009-12-04 (Fri) 22:08:54 (JST) (4009d) by SHOO
メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu