|
DXライブラリ(ディーエックス・ライブラリ)とは、山田巧がC++用に開発した、無料のパソコンゲーム開発用ライブラリである。広義にはゲームエンジンに分類される。DxLibとも表記される。 ライブラリ自体の著作権は開発者の山田巧が保持しているが、ライブラリはオープンソースとして公開されている〔ダウンロードページ 「改造希望の方へ」〕。ライブラリの使用に制限や条件は一切なく、ソースコード配布時に限り著作権表示を求めている〔著作権関係 < == 概要 == 専門学校のゲーム学科〔学校名などの詳細は公表されていない〕で既に使用されていた一般公開されていない教材(ライブラリ)を元に、関係者の協力の下、山田巧が開発した〔仕様&特徴説明 「ライブラリ制作にご協力していただいた方」〕〔インタビュー1-2 of Visual Studio2010編予告サイト (LibroWorks Inc)〕。2001年5月に初版がリリースされてから、2016年3月現在でも開発が進んでいる。名称は「DirectXライブラリ」から由来している〔説明書参照(Ver 3.06c時点)〕。 ライブラリ独特の仕様が少なく自由度が高いため、ゲームジャンルや開発規模に制約されないことを特徴に上げている。C++用のライブラリではあるがC言語の知識だけでも扱えるよう工夫されている。DirectXおよびWindows APIを意識せずに使えるように設計されているものの、プログラムのエントリーポイントは''WinMain''になる。基本的な設計思想について山田巧は、ライブラリの前身にあたる教材の影響を強く受けていると語っている〔。 OSはWindows98以降が必要である。DirectXおよびWindows APIを使用しているため、全体的にWindowsに依存しておりマルチプラットフォーム設計ではない。ただし、有志によってPlayStation Portableで動作する派生ライブラリを開発するプロジェクトや、DXライブラリと似た構文を利用できるマルチプラットホーム環境を開発するプロジェクトは存在する。 サポートされている開発環境はVisual C++、BorlandC++、Gnu C++の他にも、Visual C#用パッケージも用意されている。ライブラリ単体でDirectXが利用できるよう設計されているため、DirectXのSDKがなくてもコンパイルできる。ライブラリは静的リンク方式( )でのみ提供されておりDLLは存在しない。公式サイトにライブラリの関数リファレンスページやサンプルプログラムが用意されているが、「主な関数の説明」とされており掲載されていない関数もある〔関数リファレンスページ 〕〔リファレンスページとライブラリのヘッダファイルを比較のこと〕。公式リファレンスページ上で全ての関数が掲載されていない状況について、2010年10月に山田巧が「ドキュメントが整備し切れていない」と認めているが〔インタビュー2-2 of Visual Studio2010編予告サイト (LibroWorks Inc)〕、今後の掲載・整備予定については明らかにされていない。なお、公式サイトは2016年3月に一度移転している。 開発者の名前について、公式サイトや付属の説明書では山田巧で統一されているが、ミラーで配布されているベクターではハンドルネームで夏夕樹と名乗っている〔作者:夏夕樹 2015年3月9日確認〕。 2015年12月、DrawFormatStringなどの文字列を渡す関数でバッファオーバーランが発生し、任意のコードを実行される脆弱性が公表された〔DXライブラリの脆弱性情報 2016年3月26日確認〕。2016年1月、JVN iPediaにて告知されIPA上にも掲載された〔JVNDB-2016-000001 DXライブラリにおけるバッファオーバーフローの脆弱性 2016年3月26日確認〕〔「DXライブラリ」におけるバッファオーバーフローの脆弱性対策について(JVN#49476817) 2016年3月26日確認〕。脆弱性は3.16で修正されている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「DXライブラリ」の詳細全文を読む スポンサード リンク
|