【linux scanf源码】【买卖源码通达信】【美文阅读小程序源码】打印源码_打印源代码

2025-01-31 16:55:16 来源:怎么导入项目源码 分类:百科

1.如何在博途软件中打印出程序的打印打印源代码?
2.[UVM源代码研究] 如何定制一款个性化的打印格式

打印源码_打印源代码

如何在博途软件中打印出程序的源代码?

       博途软件可以将程序导出到Word文档中,具体操作可以按照以下步骤进行:

       1. 打开博途软件,源码源代打开需要导出的打印打印程序。

       2. 在程序编辑页面中,源码源代选择菜单栏中的打印打印“文件”-“导出”-“导出为Word文档”。

       3. 在弹出的源码源代linux scanf源码导出对话框中,可以选择导出内容的打印打印范围和格式。

       4. 如果需要导出程序的源码源代注释和说明,可以勾选“导出注释”和“导出说明”选项。打印打印

       5. 点击“导出”按钮,源码源代选择保存的打印打印路径和文件名,并点击“保存”按钮即可。源码源代

       6. 导出完成后,打印打印可以在保存的源码源代路径中找到导出的Word文档,打开查看。打印打印

       需要注意的是,导出的Word文档中包含了程序的源代码、注释和说明,如果需要保护程序的买卖源码通达信机密性,可以考虑在导出前对程序进行加密或者删除敏感信息。此外,导出的Word文档中可能会存在格式和排版问题,需要根据需要进行调整和修改。

        

       1

       在项目树中选择工程项目

       2

       菜单“项目”--打印,打印机/文档布局/属性,选项如下

       3

       点击“打印 ”,弹出对话框,选择保存路径,美文阅读小程序源码填写文件名,点击“保存”

       4

       如果页数较多,请内心等待,最终保存如下

[UVM源代码研究] 如何定制一款个性化的打印格式

       使用默认的打印格式时,执行如下代码:

       实际打印结果格式如下:

       查看UVM源代码,我们首先定位`uvm_info宏定义的位置:

       这段代码对uvm_info/uvm_warning/uvm_error/uvm_fatal等宏进行了描述,实际上是对uvm_report_*函数的封装。以`uvm_info为例,分析其执行过程,溯源码辨别小鸟燕其中使用了全局函数uvm_report_enabled。

       这里又调用了uvm_root中定义的uvm_report_enabled函数。需要注意的是,在uvm_root中并未找到这个函数的定义。经过查找源代码,发现uvm_report_object中定义了uvm_report_enabled。

       为什么要通过uvm_root实例调用这个函数呢?这需要了解uvm类库的继承关系。通过分析,我们发现通过调用uvm_root中uvm_report_enabled的龙虎美化版源码函数,是因为uvm_root支持单例模式,可以获取uvm_root的单例句柄执行uvm_report_object中定义的自动继承的函数,避免了创建额外的实例。

       接下来分析函数执行过程,原本简单的获取severity对应的verbosity阈值设置,却涉及了severity的override问题。我们可以通过调用函数或运行时传入参数来对severity进行override。

       所有severity的override都记录在uvm_pool键值对severity_id_verbosities中。

       severity和verbosity枚举类型定义如下:

       回到uvm_report_object中行的代码,可以认为调用`uvm宏传入的verbosity值如果大于设置的verbosity阈值,则uvm_report_enabled返回0。另外行还有一种函数返回0的情况。

       关于uvm_action和verbosity的设置类似,不再展开。执行`uvm_info系列宏时,不仅需要考虑severity对应的verbosity_level的设置是否大于阈值,还需要考虑对severity设置的行为是否为UVM_NO_ACTION来判断uvm_report_enabled的返回值。

       本质上,执行的是uvm_report_server中的compose_message函数,该函数规定了uvm_info系列宏的打印格式。

       这个函数的参数filename和line是我们调用uvm_report_info传入的`uvm_file和`uvm_line。

       `__FILE__和`__LINE__是systemverilog的编译指令,在编译阶段被替换:`__FILE__被替换为当前文件的文件名,以字符串形式存在;`__LINE__被替换为当前文件的行号,以十进制数字形式存在。

       如果需要定义个性化的打印格式,可以通过从uvm_report_server继承一个类重写compose_message函数实现。需要注意的是,这里不能用set_type_override_by_type/name,因为uvm_report_server类没有使用uvm_object_utils注册,也没有实现get_type()函数,所以不能用传统的factory的override方法进行override。好在uvm_report_server已经预留好了子类server的覆盖函数set_server。

       这个静态函数可以直接使用类uvm_report_server进行调用。接下来,我们通过一个例子来看看如何实现个性化打印的定制。

       首先,我们定制自己的report_server:

       然后,在base_test中实例化并set_server:

       现在,我们来看看最初那句打印的执行情况:

       通过以上步骤,我们便实现了个性化的打印定制,该定制对4种severity同时生效。

更多资讯请点击:百科

推荐资讯

安徽亳州公布2022年度知识产权行政保护典型案例

中国消费者报报道2022年,安徽省亳州市市场监管局先后开展商标、专利、地理标志、奥林匹克标志保护系列专项行动,严厉打击各类知识产权侵权违法行为。近日,亳州市市场监管局公布了一批2022年度知识产权行政

积石山地震灾后恢复重建,甘肃和青海代表带来新消息

两会现场速递丨甘肃、青海代表:约14.8万户积石山地震受灾群众将于年底前入住新居来自甘肃、青海的全国人大代表6日表示,在积石山地震中受灾的约14.8万户甘肃、青海群众将于年底前入住新居。去年12月18

“铁拳”行动|销售假红牛 福州一食杂店被罚10万元

中国消费者报福州讯郭恒弘记者张文章)近期,福建省福州市市场监管局根据上级部署开展2021民生领域案件查办“铁拳”行动,重拳打击农村地区制售假冒伪劣食品,取得一定成效。福州市仓山