知道所有C编译器实现背后都有一个标准,所以不应该有隐藏的特性
但事实是几乎所有程序员都有一些隐藏技巧,有人可以说说一二吗?
发布于 2018-01-16 10:25:57
函数指针。
可以使用一个函数指针表来实现,例如,快速间接线程代码解释器(FUST)或字节代码分配器,或者模拟类似OO的虚拟方法。
然后在标准库中有隐藏的函数特征,如qSord()、bsearch()、strpbrk()、strcspn()后两者对于实现strtok()替换非常有用
发布于 2018-01-16 11:32:53
更多的是gcc编译器的技巧,但是可以向编译器提供分支指示:
#define likely(x) __builtin_expect((x),1)
#define unlikely(x) __builtin_expect((x),0)
见:http://kerneltrap.org/node/4705
void foo(int arg)
{
if (unlikely(arg == 0)) {
do_this();
return;
}
do_that();
...
}
https://stackoverflow.com/questions/-100003412
复制相似问题