困っています。 MASMマクロは、Cマクロのように動作しないようです。 Cにはテキストを一連のトークンとして扱うプリプロセッサがあり、どこでもマクロ呼び出しを行うことができます。 MASMではそうではありません。私はこれについて適切な文書を見つけることができませんが、指示の中でマクロを呼び出すことはできません、そうですか?他のマクロ呼び出しのparsの部分を除いて?または、マクロdefの内部にappers?それらは唯一の例外ですか? spec/docはどこですか?MASMでマクロを呼び出す
OK、私がやろうとしていることはこれです:
external macro fnames:VARARG
extern stdin:qword,
for fname, <fnames>
fname&_ptr: qword,
endm
endm
external puts, fgets, printf, srand, rand
そして私が手: 構文エラー:
のためにそれはEXTERNディレクティブを解釈するために、既にらしいとマクロのために見つけました内部で許可されていない=>構文エラーです。
私は何ができますか?カンマで各行を終了すると、複数の行にまたがる指示文を分割することができます。しかし、マクロ呼び出しを解釈しないと、それには何の助けもありません。
私は私が行うことができますことを発見:
external macro fnames:VARARG
extern stdin:qword
for fname, <fnames>
extern fname&_ptr: qword
endm
endm
external puts, fgets, printf, srand, rand
しかしディレクティブを掛けることは常にオプションではありません。 procディレクティブf.exを参照してください。私は同じprocのprocヘッダを何度も使うことはできません。
このジレンマにはスマートな解決策がありますか? 1行の出力を生成するためにMASMマクロを使用することは可能ですか?私はどのようにわからない。救助のために急いで、あなたはすべてそこにおとぎ話する! :) Cheerioh
私が見つけた良いドキュメンテーションは、[this from Randall Hyde](http://www.oopweb.com/Assembly/Documents/ArtOfAssembly/Volume/toc.html)です。 MASMディレクティブについては第8章を参照してください。 – zx485
ドキュメントを読んだことがありますか? – fuz
質問を投票した人は恐ろしいだけです。 – pyetti