有没有办法在C中执行compile-time function execution?与GCC?我只是使用constexpr in C++看到了这个。
答案 0 :(得分:2)
只要表达式中只涉及常量,它就会在编译时计算出来。 C ++ constexpr
主要是一种类型安全的方式,不涉及宏。在C中,只有宏。例如:
#define CIRCLE_AREA(r) (int32_t)( (double)(r) * (double)(r) * M_PI )
int32_t area = CIRCLE_AREA(5);
在编译时执行所有计算,因此它等同于编写:
int32_t area = 78;