は、他の道を行くすることが可能ですか?Cファイルをbashの.mファイルに変換するには?私は</p> <pre><code>m4 prog.m > prog.s gcc -o prog prog.s ./prog </code></pre> <p>を使用メートルファイルからCのファイルを変換するに
私はあなたがそれ.Sファイルが、どのように私は.Mにそれを得るのですか作るために
gcc -S prog.c
を行うことができます知っていますか?
は、他の道を行くすることが可能ですか?Cファイルをbashの.mファイルに変換するには?私は</p> <pre><code>m4 prog.m > prog.s gcc -o prog prog.s ./prog </code></pre> <p>を使用メートルファイルからCのファイルを変換するに
私はあなたがそれ.Sファイルが、どのように私は.Mにそれを得るのですか作るために
gcc -S prog.c
を行うことができます知っていますか?
あなたがすることはできません、そしてあなたがなぜ必要なのかは明らかではありません。 .m
ファイルは実際にCとは関係ありません。新しいテキストファイルを生成するために、m4
によって拡張された特定のマクロが含まれているだけです。マクロによって生成されたテキストのみを出力ファイルから読み取ることはできませんでした。
単純な類推は、1 + 3
と2 + 2
のような合計のペアです。 2つの合計(.m
ファイルを表す)は両方とも4と評価されますが、4を指定すると、1 + 3
または2 + 2
から生成されたかどうかを判断できません。
また、任意の合計(0 + 4
、1 + 3
、1.5 + 2.5
)を生成することができます。誰も「間違った」合計であるとは言えません。同様に、有効な.m
ファイルのうち、m4
を実行すると元の.c
ファイルを戻すことができる無限の数のファイルを作成することはできますが、それは実際には役に立ちません。
ああ、意味があります。ありがとうございました。 –
最初の行は 'm4 prog.m> prog.c'としますか? –
いいえ。私が投稿したのは、.mから.cに行くことでした。 .mファイルでは、m4 prog.m> prog.sを使用して.sに変換する必要があります。アセンブリでは、gccを使ってこれをCに変換する必要があります。私が尋ねた質問は、.cから.mへの逆の方法を示しましたが、以下の答えは問題をきちんと整理しました。 –
gccがアセンブリ言語をCに変換すると言っていますか?たとえそれがあったとしても、生成した後は 'prog.s'を参照しません。 –