ページ 11

【asm】DXライブラリの移植

Posted: 2010年9月23日(木) 08:00
by みけCAT
開発環境はDev-C++4.9.9.2、コンパイラはデフォルトのものを使っています。
この環境で何とかDXライブラリを使いたいと思い、
http://homepage2.nifty.com/natupaji/DxLib/dxdload.htmlの一番下のソースからのビルドを試みています。
最初は「MS Visual C++プロジェクトのインポート」でプロジェクトを読み込みました。
そのままコンパイルをしてもエラーが出て、主にインラインアセンブラを修正する必要があるようです。
現在DxBaseImage.cppを修正していますが、大量にアセンブリのエラーが出て困っています。
修正できる方がもしいらっしゃいましたらお願いします。

修正途中のDxBaseImage.cppとエラーメッセージを添付しておきます。

追記
開発環境の誤字を修正しました。 画像

Re:【asm】DXライブラリの移植

Posted: 2010年9月23日(木) 22:07
by Justy
 DexCppという環境は知らないのでなんともいえませんが、公式にDXライブラリの dll版があったので、
それを読み込んで関数アドレスを取得し呼び出すようにした方が早いんじゃないかと。

Re:【asm】DXライブラリの移植

Posted: 2010年9月23日(木) 22:17
by softya
Dev-Cppの事だと思います。
前に挑戦されてますが、うまくいかなくて別の手に出たんでしょうね。
http://www.play21.jp/board/formz.cgi?ac ... &rln=61130

みけCATさん、その作業は膨大で不毛そうなのでお手伝いしかねます。
Boralnd C++などを使われない理由はなんでしょうか?

Re:【asm】DXライブラリの移植

Posted: 2010年9月23日(木) 22:18
by たかぎ
> 開発環境はDex-Cpp4.9.9.2

Dev-C++の間違いでしょうか?
だとすると、コンパイラはMinGWですので、-masm=intelオプションを使えば、Intel形式の記法を使えます。
あとは、__asm { ... } 形式から asm("..."); 形式に単純に直せばどうにかなるのではないですか?
(オペランドの記法を変更するのがちょっと手間か...)

Re:【asm】DXライブラリの移植

Posted: 2010年9月23日(木) 22:22
by みけCAT
たかぎさん
ありがとうございます。
今日は遅いのでまた今度やってみます。

Re:【asm】DXライブラリの移植

Posted: 2010年9月25日(土) 15:55
by みけCAT
もう少しのところまでできたようですが、
asm内の
"DEC BltHeight\n\t"
のように変数をデクリメントするところ(操作対象に変数しかないもの)のところで
no instruction mnemonic suffix given and no register operands; can't size instruction
というエラーが出ているようです。
(推定なのでエラーが出る場所が間違っているかもしれません)
解決法がわかりましたら教えていただければ幸いです。

Re:【asm】DXライブラリの移植

Posted: 2010年9月25日(土) 16:51
by みけCAT
>>62315
自己解決しました。
"DEC DWORD PTR BltHeight\n\t"
のようにしたら解決しました。

Re:【asm】DXライブラリの移植

Posted: 2010年10月01日(金) 21:23
by みけCAT
この方法では無理なようです。
DXライブラリはDxLib.lib以外にもたくさんのlibファイルから構成されており、
それにもかかわらず上のソースからではDxLib.libに相当するファイルしか作れないためです。

というわけで、このスレッドはとりあえず解決にさせていただきます。