class Assert
{
public:
Assert():SMART_ASSERT_A(*this), SMART_ASSERT_B(*this) {}
Assert& SMART_ASSERT_A;
Assert& SMART_ASSERT_B;
//whatever member functions
Assert& print_current_val(int i,const char* c)
{
printf("%s=%i\n", c, i);
return *this;
}
Assert& print_current_val(const char * i,const char* c)
{
printf("%s=%s\n", c, i);
return *this;
}
Assert& print_context(const char * info, const char* c, int i)
{
printf("ASSERT FAIL:%s\nFILE:%s, LINE:%i\n", info, c, i);
return *this;
}
};
Assert& make_assert()
{
static Assert a;
return a;
}
#define SMART_ASSERT_A(x) SMART_ASSERT_OP(x,B)
#define SMART_ASSERT_B(x) SMART_ASSERT_OP(x,A)
#define SMART_ASSERT_OP(x,next) \
SMART_ASSERT_A.print_current_val((x),#x).SMART_ASSERT_##next
#define SMART_ASSERT(expr) \
if( (expr) ) ; \
else make_assert().print_context(#expr, __FILE__,__LINE__).SMART_ASSERT_A
#define _ASSERT SMART_ASSERT
分享到:
相关推荐
综上所述,本文涵盖了工业级单板计算机的设计特点,特别是针对高效处理器的集成和优化,以及高速AS IC验证技术,特别是TotalRecall技术在故障排查中的应用。此外,还介绍了高性能示波器在高速串行数据测试中的关键...
10. **错误处理**:良好的编程习惯要求对可能出现的错误进行适当的处理,如检查函数返回值,使用assert断言等。 通过"西北工业大学C上机考试2",学生不仅会测试对C语言理论的理解,还将通过实际编程来检验他们的...
作为IEEE 1800™标准的一部分,SystemVerilog继续得到了广泛的工业和学术界的使用,适用于系统级芯片(SoC)设计、FPGA开发和复杂的硬件验证等领域。 SystemVerilog的出现使得硬件设计和验证流程更加高效和强大,它...
标题和描述中提到的"STM1001MWX6F"实际上是一款微处理器复位电路芯片,它由STMicroelectronics(意法半导体)生产,并且作为工业级产品,提供了对3V、3.3V和5V供电电压的精确监控。此芯片以其最小的复位脉冲宽度(30...
蚂蚁智能单测用例生成SmartUnit是一款工业级智能单元测试用例生成产品,致力于解决单测领域下用例的自动生成、执行、汰换、管理。SmartUnit核心技术涵盖用例生成、回归分析各个环节,产品形态为本地使用DevOps组件的...
本资源聚焦于西北工业大学C语言课程的第12周练习,旨在帮助学生巩固和提升C语言的编程技能。这个压缩包包含了第12周的作业源代码,对于那些在学习过程中遇到困难或者想进一步提高编程能力的学生来说,是一个宝贵的...
他在航空航天工业工作。 27. **affirm** [2'f2:m] vt. 断言 - 例如:He affirmed that he was innocent. 他断言自己是无辜的。 28. **agitation** [9d7i'tei62n] n. 搅动 - 例如:The agitation caused the ...
SystemVerilog支持在行为级、寄存器传输级(RTL)和门级抽象层次对硬件进行建模。在设计验证方面,SystemVerilog提供了编写测试平台的全面支持,其中包括功能覆盖率、断言、面向对象编程、约束随机验证等方法,这些...
26. **aerospace**(航空航天):名词,指航空和航天工业领域。 27. **affirm**(肯定):动词,表示坚定地认为或断言某事是真的。 28. **agitation**(激动):名词,指因情绪激动而产生的不安或混乱状态。 29. **...
《C编程精髓》是一本专注于提升C语言编程质量的书籍,由Steve Maguire撰写,姜静波、佟金荣翻译,麦中凡校对,并由电子工业出版社出版。本书以Microsoft内部的技术实践为基础,深入探讨了如何编写高质量、无错误的C...
总的来说,"IEEE_systemverilog_1800-2017.zip"中的PDF文档是掌握SystemVerilog语言规范的重要参考资料,无论是在学术研究还是工业实践中,都能为数字IC设计和验证人员提供宝贵的指导。通过深入学习和实践,开发者...
它是一种统一的硬件设计、规范和验证语言,支持在行为级、寄存器传输级(RTL)和门级抽象层次对硬件进行建模,并支持使用覆盖率、断言、面向对象编程以及约束随机验证来编写测试平台。SystemVerilog还为与外部编程...
2. **第2章 自己设计并使用断言**:强调了在软件开发过程中使用断言的重要性,包括如何正确设计断言以及如何利用断言来提高代码的健壮性。 3. **第3章 为子系统设防**:探讨了如何为程序的不同子系统设置防护措施,...