[OSASK 5413] Re: GO, NASK(Re: tolset02).

 こんにちは、I.Tak.です。

From: Hidemi KAWAI <kawai !Atmark! imasy.org>
Subject: [OSASK 5407] GO, NASK(Re: tolset02).
Date: Wed, 27 Nov 2002 19:19:14 +0900

> > obj2bim2はcommonなシンボルを正しく繋げられなかったので、その辺の
> >対応が進むのを期待してます。
>   今は、obj2bim3が主バージョンですが、それでもcommonシンボルは対
> 応していません。というか、commonシンボルって何ですか?どういう目
> 的につかうのか教えてください。なるほど有用だということになれば、
> サポートします。

 nasmの説明によれば、
          common intvar 4
これと
          global intvar 
          section .bss 
intvar    resd 1
これとはほぼ同じ結果が得られます。でもリンクするときに他のオブジェクト
に同じcommon変数があるとマージされ、intvarへの参照は同じメモリを指す
ようになります。
……ということです。mtlのrewind_codeとかそういう共有されるものは
どこで作っても一つにまとめよう、という事ですね。

> > コマンドラインからの制御が全く効かない(オプションはファイルに
> >書き込む)というのは、単体で使うには不便だと思います。今後coffも
> >吐けるようになると特にそうです。

>   NASMのオプションにはいろいろありますが、たとえば、-fオプション
> はすごく駄目なしようだと僕は思います。どうして駄目なのかというと
> 、BIN用に書いたソースをCOFFで出力するとか、その逆とか、そういう
> ケースは原則として考えられないからです。ソースに強く依存すること
> をコマンドラインで制御できても全然嬉しくありません。むしろ面倒な
> だけです。

 マクロで制御できるので、そうではないと思います。マクロを使わなく
ても、全く同じソースをcoffにもelfにもwin32にも出力したいということ
は(汎用なルーチンでは)よくあります。
 また、川合さんの好きな関数一個だけオブジェクトをつくる場合、リンク
を飛ばすためにバイナリモードで出力して、incbinでつなげるということも
(私は)やります。mtltのサンプルでは実際にそういうことをしています。
リンカはなんとなく面倒なので。

>   NASKの場合、INSTRSETやOPTIONやOPTIMIZEがオプション指定ではなく
> ソースに書き込むことになっていますが、これらをコマンドラインに記
> 述できるメリットはどういう状況なのでしょうか?僕の想像力では、思
> い付きません。むしろ間違えて指定して式の値が間違って解釈されたり
> 不本意なコードが生成させてしまうほうがよっぽど危険だと思うんです
> が・・・。

 オプティマイズは-Oオプションかなあ……まあ「こんなにデキるんだ」って
さっと自慢できるくらいですか。その辺はファイル指定でよさそうですが。


>   別に乗り換えてくれなくていいと思いますが。僕は別にGOで世界を塗
> り替えたいわけじゃないんですから。使いたい人だけが使ってくれれば
> いいんですよ。

 そうでした。うっかり忘れてました(^^;;;

>   SJISに関してですが、確かに痛いと思います。特にwin32下のコンパ
> イラとしては。そこで、プリプリプロセッサを作りたいなあって思っ
> ています。これはすさまじく簡単なフィルターで、「ひらがな」→「\x
> 82\xd0\x82\xe7\x82\xaa\x82\xc8」に変換するだけのものです。これで

 これは気づきませんでした。こういうのが一つあるとかなり便利ですね。


I.Tak. <g240845 !Atmark! mail.ecc.u-tokyo.ac.jp>
http://user.ecc.u-tokyo.ac.jp/~g240845/


ML番号でジャンプ
ML単語検索