c - 没有跳转表的switch语句

标签 c switch-statement jump-table

是否可以在没有跳转表的情况下使用 switch 语句? GCC 创建了我想避免的愚蠢的(在我的例子中是不可用的)跳转表。

最佳答案

https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html

-fno-jump-tables

不要对 switch 语句使用跳转表,即使它比其他代码生成策略更有效。此选项与 -fpic 或 -fPIC 结合使用,用于构建构成动态链接器一部分且不能引用跳转表地址的代码。在某些目标上,跳转表不需要 GOT,因此不需要此选项。

关于c - 没有跳转表的switch语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24660950/

相关文章:

c - 用 C 将条目写入文件的结构数组中

c - 无法访问结构数组中的值

JavaScript 约定 : switch statement in object constructor

与字符串指针混淆

c++ - 从 gcc/clang (C++) 中的函数作用域中获取标签地址

c - 跳转到 ARM 上的 Naked 函数

c - PIC 的 16 位系统上的 32 位整数运算

flutter - 带有枚举的 dart switch case 中缺少 case 子句错误

c++ - 如何将 goto 标签存储在数组中,然后跳转到它们?

c - C中的跳转表数组