请教factory中注册的问题
时间:10-02
整理:3721RD
点击:
先给一段代码吧
class myunit_wrapper extends uvm_object_wrapper;
function string get_type_name();
return "myunit";
endfunction
static function bit register_me();
myunit_wrapper w; w = new;
factory.register(w);
return 1;
endfunction
static bit is_registered = register_me();
endclass
这个类并没有实例化对象,但是在调用factory.print(1); 却能打印出“myunit”,请问这是怎么回事?
用DVE追踪代码也没有执行“static bit is_registered = register_me();”这一句,那我只能这样理解:静态变量在编译的时候初始化,初
始化时调用register_me(),不知道这样理解对不对;
小编,你可以联系我,我能帮你解决这个疑问。你可以在百度搜uvm_factory哪里有我写的文章,介绍这个问题。这里并不需要实例化对象,对象的实例化和注册的工厂已经自动完成了static bit is_registered = register_me();,这个告诉了我们一切,这是个singleton模式。
联系我:qq10863523