1.第一课:如何在 Excel 中编写宏:什么是宏代宏和如何使用
2.[UVM源代码研究] 如何定制一款个性化的打印格式
3.CMake函数和宏(function和macro):使用函数和宏提高代码可读性
4.2009-2023最全高考数学真题(LaTeX模板试卷宏包源代码)
第一课:如何在 Excel 中编写宏:什么是宏和如何使用
在 Excel 中使用宏能够简化重复性任务,提高工作效率。码源码宏宏是代码一段编程代码,用于自动执行在 Excel 环境中重复的编写步骤。无需成为编程专家,教程通过掌握基本的宏代gige源码哪里有 Visual Basic for Applications (VBA) 知识,便能编写宏以自动化工作流程。码源码宏 宏可定义为 Excel 中例行步骤的代码记录,通过单个按钮即可重复执行。编写例如,教程在一家自来水公司担任收银员时,宏代需要定期从银行下载数据并进行格式化。码源码宏通过宏,代码可以记录并自动化这一系列步骤,编写提高日常工作的教程效率。 VBA 是一种编程语言,Excel 使用它记录并执行宏。无需精通编程,Excel 提供了自动生成源代码的功能,使用户能够轻松地利用宏功能。 要创建并使用 Excel 宏,源码中的import首先需要启用 Excel 中的开发人员选项卡。默认情况下,此选项被隐藏,需要通过自定义报告来显示。 使用宏时,需要谨慎处理安全问题。默认情况下,宏被禁用以防止潜在的安全威胁。若需要运行宏,应启用宏功能,并确保仅运行来自可信任来源的宏。 保存包含宏的工作簿时,应使用启用宏的格式(*.xlsm)。宏名称应避免包含空格,并在创建时填写描述,以方便了解宏的作用。 以下是一个简单的 Excel 宏创建流程示例,以自动化导入和格式化数据的工作:启用开发人员选项卡。
在模板中创建命令按钮,并编写宏代码。主力资金源码博客
录制宏,执行所需的步骤。
格式化数据,例如加粗列、添加总计和使用 SUM 函数。
停止录制宏,并保存为启用宏的格式。
通过自动化重复性任务,宏可以显著提高工作效率。掌握宏的使用方法,可以更轻松地处理 Excel 中的日常任务。 本教程旨在引导您入门 Excel 宏的使用,后续课程将进一步深入探讨 VBA 的高级概念和技巧,帮助您更加熟练地利用宏功能。 欲了解更多关于 Excel VBA 的详细信息,推荐查阅相关教程和资源,以系统性地学习和应用 VBA 技能。[UVM源代码研究] 如何定制一款个性化的打印格式
使用默认的打印格式时,执行如下代码:
实际打印结果格式如下:
查看UVM源代码,我们首先定位`uvm_info宏定义的openwrt源码看版本位置:
这段代码对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同时生效。
CMake函数和宏(function和macro):使用函数和宏提高代码可读性
CMake是一个开源跨平台构建工具,用于生成定制化构建过程,包括Makefiles、Visual Studio项目或Xcode项目。CMakeLists.txt文件描述构建所需信息,如源代码、库、头文件和可执行文件等。function和macro是CMake中实现代码重用的工具。
function和macro的主要区别在于参数传递和作用域。function采用传值方式传递参数,而macro采用文本替换方式。function的作用域是局部,而macro的作用域是全局。function可以封装常见操作,如生成安装目录、编译选项,以减少代码重复,提升可维护性和可读性。
function的语法如下:function_name(arg1 arg2 ...)。在body中使用CMake语句实现具体操作。function参数传递采用传值方式。例如,add_numbers函数有两个参数num1和num2。在调用函数时,传递实参1和2,这些值会被传递到num1和num2中。function可以设置返回值,通过set命令实现。例如,add_numbers函数计算num1和num2的和,将结果设置到result_var变量中。
示例代码定义了一个create_static_library函数,用于生成静态库。函数接受LIBRARY_NAME和SOURCE_FILES参数,通过add_library命令创建静态库,并使用set_target_properties命令设置输出名称和路径。调用函数时传递实参my_library和${ SOURCE_FILES}变量。最终生成名为my_library的静态库。
macro的语法为macro(宏名 参数列表) 宏体 endmacro()。可以接受参数,参数传递方式类似于函数参数,可以传递常量、变量或表达式。宏定义中的变量作用域与文件中相同。示例代码展示了宏定义的使用。
function和macro的区别包括参数传递、返回值和变量作用域。参数传递方面,function有类型和顺序,macro无限制。function可以返回值,macro不能。变量作用域,function在函数内部,macro在整个文件中。示例代码比较了function和macro实现相同功能的方法。
function和macro各有优缺点,适用于不同场景。function适合封装特定功能,减少代码重复,macro适合定义通用代码片段。通过理解和应用function和macro,可以提高CMake构建过程的效率和代码质量。
-最全高考数学真题(LaTeX模板试卷宏包源代码)
编写一个制作试卷模板的LaTeX宏包(GEEexam.sty)的步骤如下:
宏包命名与文件创建
定义宏包名并创建GEEexam.sty文件。
引入必要宏包
在GEEexam.sty中,使用\RequirePackage{ 宏包名}引入所需宏包。
设置文档格式
步骤包括设置页眉页脚、数学字体为新罗马体、大题标题、选择题选项格式和填空题横线。
GEEexam.sty的完整代码
包括以上设置的代码片段,总量不超过行。
案例演示:年理科数学高考试题排版
使用GEEexam.sty宏包成功排版年理科数学高考试题。
提供历年真题
包含年到年各省市文理科高考数学真题。
实践分享
年全国高考数学真题(全国卷)为例演示。
总结与鼓励
期望此教程能帮助读者,给予积极的反馈与支持。