写在前面:
- -,其实一开始是没有写这篇文章的打算的。就在几分钟前正在看Qt的培训视频,讲到C++里面的__FILE__和__LINE__,突然发现这个东西和我们的`uvm_info不是很像吗,然后打开`uvm_info的源代码,卧槽,好家伙,最底层连名字都取的一模一样。我不禁陷入了深深的沉思,作为一名经验还算丰富的验证人员,为什么到这个阶段才发现这些细节,是我太菜了吗?为什么平时都没看见大家使用和讨论过`__FILE__和`__LINE__,是大家太菜了吗?联想到今天看到的一篇自媒体的文章,内容大意就是在中国做软件的厉害人都去互联网金融领域了。再发散一下,本来从事芯片验证的人员应该是从软件侧或者硬件侧切入,但现状应该是做验证的人员基本都出身硬件,导致这群人的软件功底太差。综上所述,结论就是我们这群验证人员的软件水平确实太菜了。
-
`__FILE__和`__LINE__是什么?
`__FILE__和`__LINE__作为编译指令,在编译阶段被替换掉:
`__FILE__被替换为当前文件的文件名,以字符串的形式存在。
`__LINE__被替换为当前文件的行号,以十进制数字的形式存在。
当我们打印一个提示信息时,可以使用`__FILE__和`__LINE__来显示这个信息的来源:
-
`uvm_info里面是怎么调用`__FILE__和`__LINE__的?