Class 为什么编译面向对象的SystemVerilog代码这么慢?
为什么商业SystemVerilog编译器每次都必须重新编译所有内容?在这个问题中,我只是指不可合成的面向对象SystemVerilog代码 例如,许多项目都使用SystemVerilog。每次我编译时,我的模拟器都会解析并编译UVM库,包括95%的UVM库,这是我的模拟不需要的。为什么我不能准备一个预编译的版本,我可以用于每一个模拟 相比之下,其他语言不需要编译已经编译且未更改的代码。例如:Class 为什么编译面向对象的SystemVerilog代码这么慢?,class,compilation,system-verilog,Class,Compilation,System Verilog,为什么商业SystemVerilog编译器每次都必须重新编译所有内容?在这个问题中,我只是指不可合成的面向对象SystemVerilog代码 例如,许多项目都使用SystemVerilog。每次我编译时,我的模拟器都会解析并编译UVM库,包括95%的UVM库,这是我的模拟不需要的。为什么我不能准备一个预编译的版本,我可以用于每一个模拟 相比之下,其他语言不需要编译已经编译且未更改的代码。例如: C++编译.cpp文件一次,然后将它们链接到可执行文件中 Java将所有文件编译成.class文件,
- C++编译
文件一次,然后将它们链接到可执行文件中.cpp
- Java将所有文件编译成
文件,这些文件在执行期间由类加载器动态加载.class
另一个我使用过的3大模拟器,默认情况下是增量编译。
编译C++文件时,必须显式选择不使用像Sub或Cube之类的东西重新编译未被修改的文件。我不知道GCC自己能做到这一点。不过,我不知道还有其他编译器。