其中有包含",“逗号的参数,例如,在一个参数中包含num、val、int。
例如,“定义ACTION_DO”(num,val,int)
它实际上是作为一个参数传递的,是否有任何方法在代码中包含",“逗号,而不会被编译器单独假定为3个参数?
发布于 2022-09-13 12:45:02
不幸的是,没有很好的通用方法来处理宏中包含逗号的单个参数。有几种可能在您的使用模式中可能适合,也可能不适合:
下列措施将起作用:
`define PRINT(A) $display A
...
`PRINT(("a=%b, b=%b, c=%b", a, b, c));它将扩展到$display ("a=%b, b=%b, c=%b", a, b, c)
下面的将导致编译中的失败
`define PRINT(A) $display("a=%b b=%b c=%b", A)
`PRINT((a, b, c));因为扩展$display("a=%b b=%b c=%b", (a,b,c))在语法上是错误的。
https://stackoverflow.com/questions/73698881
复制相似问题