【发布时间】:2020-08-22 10:15:11
【问题描述】:
我正在开发一个嵌入式项目(只有 C++14 编译器可用),我想优化执行速度。
这是我正在做的一个例子。
enum gpio_type{
TYPE_1,
TYPE_2
}
template <gpio_type T>
class test{
test(){}
void set_gpio(bool output)
{
switch (T)
{
case TYPE_1:
do_something();
break;
case TYPE_2:
do_something_else();
break;
}
}
}
编译器会在编译时自动删除死代码吗?如果是这样,它是标准功能还是依赖于编译器?如果没有,是否可以以强制优化的方式编写代码?
【问题讨论】:
-
为什么不将
set_gpio专门用于不同的枚举值?