5: 2009-12-18 (金) 23:23:52 lina[6] [7] | 6: 2009-12-19 (土) 13:20:20 lina[6] [8] | ||
---|---|---|---|
Line 27: | Line 27: | ||
***つぶやき [#d5ddf341] | ***つぶやき [#d5ddf341] | ||
- | COLOR(purple){んん?ASKAはgas形式の''アセンブラコード''を出力する。naskでコンパイルしたいのでnaskcnv0でnask形式にすると・・・。あれ?じゃ、gas2naskってのはなんなんだ? gas形式をnask形式にするって意味では同じなんじゃないの??? なんで別々なんだろう??} | + | COLOR(purple){%%んん?ASKAはgas形式の''アセンブラコード''を出力する。naskでコンパイルしたいのでnaskcnv0でnask形式にすると・・・。あれ?じゃ、gas2naskってのはなんなんだ? gas形式をnask形式にするって意味では同じなんじゃないの??? なんで別々なんだろう??%%} |
+ | |||
+ | COLOR(blue){根本的な間違いをしてたぞ!(^^; ASKAが吐き出すのは''386|asm''というものの形式。対してgcc由来のGOが吐き出すのは''gas(GNU Asennblre)''というものの形式と!(まぁつまり別のアセンブラの形式だとw)} | ||
* .nas [#t478b82a] | * .nas [#t478b82a] | ||
Line 44: | Line 46: | ||
基本、obj等の中間ファイルをひとつにまとめた状態が.bimだということ。なるへろ! | 基本、obj等の中間ファイルをひとつにまとめた状態が.bimだということ。なるへろ! | ||
+ | |||
+ | .bimはいうならば、''プログラムコードとしては完成している''という状態らしい。 | ||
+ | |||
+ | しかし! | ||
+ | |||
+ | 各OSはただベターっと並んだプログラムコードをそのまま読み込んで動かせるわけじゃない。~ | ||
+ | これはWinのプログラムだよ!とか、これはjpgだから実行するなよ! みたいな印(ヘッダー等)を付けてあげないといけないと。 | ||
* .g01 [#bd1944ec] | * .g01 [#bd1944ec] | ||
-.bim形式になったファイルはbim2g01によって.g01形式に変換される。 | -.bim形式になったファイルはbim2g01によって.g01形式に変換される。 | ||
-これでようやっと.g01になる | -これでようやっと.g01になる | ||
- | |||
- | ---- | ||
- | |||
- | -確定しているのは.bim。.bimとはなんじゃろう?どうすれば.bimにできるのかを調査しないといけない。 | ||
- | |||
- | |||
- | |||
*efg01コンパイル [#y47655f3] | *efg01コンパイル [#y47655f3] | ||
Line 68: | Line 70: | ||
くっそぉ! MinGWをインスコしなおさないと試せない! えぇと・・・ ドコやったかなMinGW・・・ | くっそぉ! MinGWをインスコしなおさないと試せない! えぇと・・・ ドコやったかなMinGW・・・ | ||
+ | |||
+ | *なんとかなった??? [#o15614c9] | ||
+ | **MinGWインスコ [#re517795] | ||
+ | >そーいえばMinGWをインスコしたのははるか昔だよね。なので新しいのをゲットと。 | ||
+ | >[[ここ>http://sourceforge.net/projects/mingw/files/]]行ってダウンロード。 | ||
+ | >なにやらもう、MinGWはバージョンが5くらいまで行ってるらしい・・・ | ||
+ | >「Dowonload Now!」のボタンをクリック。(MinGW5.1.6.exeと・・・) | ||
+ | >落としたものはセットアッパーらしい。mingw5.1.6.exeを起動するといろいろ設定できるみたいだね。 | ||
+ | >オイラはダウンロードのみを選択。(インストールしない) | ||
+ | >さらに、「ほかにもJavaだとかC++だとかも落とせるよ~」ってんだけど、ベースのみにチェックを入れてGo! | ||
+ | >そーすると、以下の5つのアーカイバをダウンロードしてくれた。 | ||
+ | -gcc-core-3.4.5-20060117-3.tar.gz | ||
+ | -binutils-2.20-1-mingw32-bin.tar.gz | ||
+ | -mingwrt-3.17-mingw32-dev.tar.gz | ||
+ | -mingwrt-3.17-mingw32-dll.tar.gz | ||
+ | -w32api-3.14-mingw32-dev.tar.gz | ||
+ | >おのおの解凍する。で、中にはbinやらincludeやらのディレクトリが入ってる。これをぜーんぶ一箇所にまとめちゃうと・・・ | ||
+ | >>(たとえばgccなんてディレクトリ作って、各アーカイバの中身をここにどんどんコピーしちゃう。上書きするぞ!って言って来るけどきにしないで。そうするとまとまる) | ||
+ | >>COLOR(blue){mingwrt-3.17-mingw32-dll.tar.gzはいらないかもしんない。なくてもコンパイルできたので・・・} | ||
+ | >これでOK。 | ||
+ | |||
+ | **コンパイル [#y547828d] | ||
+ | >ようはbin内の各ツールを呼べればいいわけ。なので、オイラはgccディレクトリの中にabcdw017ディレクトリをコピーしちゃったww | ||
+ | >あとはabcdw017ディレクトリに下りる。 | ||
+ | >make.batをこんな風に修正と。 | ||
+ | |||
+ | ..\bin\gcc -Os -DUSE_WIN32 -o efg01 efg01.c tek.c _gasfunc.s | ||
+ | ..\bin\strip efg01.exe | ||
+ | |||
+ | >あとはこのmake.batを起動すれば・・・おぉ! できた!!! | ||
+ | >>COLOR(blue){今回面倒なのでやらんかったがupxで圧縮してもOK!} | ||
+ | |||
+ | >とりあえずこれで出来上がったefg01.exeは一通りエラーなく動いているぞ! | ||
+ | |||
+ | ━━━━━━━━━━━━━━━━(゚∀゚)━━━━━━━━━━━━━━━━ | ||
+ | |||
+ | **結論!!! [#gd5f0ed1] | ||
+ | efg01.exeはtolsetではコンパイルできないのだ!!!! | ||
+ | |||
+ | ・・・しかしそうなると、ソースを割るかなんかしたほうがいいような気がしてきた今日この頃・・・・ |
(This host) = http://osask.net