如果我们有一个C函数调用通过extern inline
间接,那么使用正确大小的结构而不是正确的类型定义该间接的性能是否有额外的成本?如果是这样;为什么呢?
定义为实际类型:
extern inline int indirect(int x) {
int the_function(int);
return the_function(x);
}
定义为char数组struct:
struct T { char arr[sizeof(int)]; };
extern inline struct T indirect(struct T x) {
struct T the_function(struct T);
return the_function(x);
}