私は、言語 (自家製の DSL) を C と C++ にトランスパイルするという問題を検討しています。
私は 15 年以上「ネイティブ」プログラミングを行っていないので、私の仮定を確認したいと思います。
最新の C++ バージョン (17) にトランスパイルすると、ネイティブ コンパイラがより広い範囲の「最新の」Intel/AMD CPU 命令を使用できるようになり、より効率的な実行可能ファイル (マルチスレッド/メモリを超えて-C++ のモデル部分であり、それ自体で C++ を使用する十分な理由と思われます)?
別の言い方をすれば、「より最近の」CPU 命令の大部分は、C コンパイラによって生成されることはありません。単に、C の構文が単純なため、プログラマの意図に関する情報が少なすぎるためです。アセンブラですべての CPU 命令にアクセスできることはわかっていますが、それはまさに私がやりたくないことです。理想的には、生成されたコードが可能な限りプラットフォームに依存しないことを望みます。