我想强制一个宏为无符号类型我知道这是一个简单的操作,例如。
#define TEST_VALUE_1 100U
但是,我定义的宏的值是外部驱动程序支持包中的一个无法修改的定义。他们是一种可以迫使它成为无符号类型的方式
#define TEST_VALUE_1 BSP_DEFINE_1
答案 0 :(得分:1)
为此,您必须在粘贴前强行扩展,例如像这样:
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-2x fa-inverse"></i>
<i class="fa fa-envelope fa-stack-1x"></i>
</span>
如果您无法确定该号码是否已经加后缀,您应该使用强制转换来保证安全。如果你想要,也可以在宏中应用强制转换:
#define VAL 35
#define _PASTE(x,y) x##y
#define PASTE(x,y) _PASTE(x,y)
#define UVAL PASTE(VAL,U)
// expanding UVAL gives 35U