Cg のチュートリアルでは、Cg は動的コンパイルを使用すると書かれています。最初のパスですべてのコードをコンパイルする必要がないという点で、コンパイラーはインタープリターといくつかの類似点があることに気付きました。エラーが存在する場合は、exe の実行時にそれを見つけることができます。
しかし、それらの違いは何ですか。誰か私に詳細を教えてもらえますか?どうもありがとう。
Cg のチュートリアルでは、Cg は動的コンパイルを使用すると書かれています。最初のパスですべてのコードをコンパイルする必要がないという点で、コンパイラーはインタープリターといくつかの類似点があることに気付きました。エラーが存在する場合は、exe の実行時にそれを見つけることができます。
しかし、それらの違いは何ですか。誰か私に詳細を教えてもらえますか?どうもありがとう。
この場合、Cg コードは実行時にコンパイルされます。これは、中間形式 (p-code など) にコンパイルするインタープリターに似ています。GPU でこれを行う主な理由は、ランタイム コンピューターの構成によって、コンパイルされた結果にわずかな違いが生じる可能性があるためです。Cg は (通常) OpenGL アセンブラーにコンパイルします (たとえば、フラグメント プログラムの場合は 'fp40' または 'arbfp')。
このコンパイルされたアセンブラー コードが GPU ドライバーによってさらにマイクロコードにコンパイルされることは事実ですが、そのプロセスはプログラマーから完全に隠されています (NVIDIA などで働いている場合を除きます)。