私は現時点でアセンブリコードの文字列を生成しているC言語で概念実証JITコンパイラを作成しています。 Cのインラインアセンブリ機能は、コンパイル時に認識される文字列リテラルのみを処理するため、生成された実行時コードを実行するために使用できません。Cで動的に生成されたアセンブリを実行する(GNU/Linux)
実行時に機械コードを実行するためにmmap()を使用することについて読んだことがありますが、可能であればマシンコードでの作業は避けてください。
誰もが知っていますか?私はそれをファイルに書き込んで、そのファイルのアセンブラ&リンカを呼び出すことを考えましたが、それは面倒で遅いでしょう。
あなたはアセンブリソースコードを生成すると言っていますか?なぜマシンコード自体を生成しないのですか? –
@DrewMcGowen私はそれが読みにくく、テストするのが難しいと思うし、可能ならばリファクタリングを避けるためには時間が重要です。それは私がする必要があるかのように見えますが。 – AlexJ136
発光アセンブリには多くのライブラリがあります。 [gnu-lightning](https://www.gnu.org/software/lightning/)[llvm](http://llvm.org/)、... – mathk