uvm_report机制,例如uvm_info、uvm_warning、uvm_error、uvm_fatal,打印出的信息包含有文件名和行号,那么uvm是如何获取文件名和行号的呢?
在uvm源代码中可以看到,调用了uvm_file和uvm_line这两个宏,这两个宏又分别指向了__FILE__和__LINE__这两个宏。再继续搜索__FILE__和__LINE__这两个宏的出处是搜索不到的。
那么究竟如何实现的呢?
——编译器预编译文件的时候,会把__FILE__替换为当前文件名,把__LINE__替换为当前行号。