【发布时间】:2014-04-07 22:47:21
【问题描述】:
我正在玩一种编程语言实现,我想知道(不)建议它如何将函数指针的最低有效位压入服务以存储数据。
是否有任何主要平台(AMD64/{Windows/Linux/MacOS}、Arm/{iOS、Android})在函数指针中的 2 个最低有效位一直非零?也就是主要平台上代码的对齐方式至少是4吗?
【问题讨论】:
-
这是非常糟糕的做法,实际上不需要。为什么需要这个?
-
@MichaelWalz,标记它是函数指针,还是指向闭包结构的指针。也许您可以创建一个答案来解释为什么这是不好的做法,请记住我正在实现 PL 编译器/运行时。
-
"Arm/{iOS,Android})"拇指功能?
-
既然你在实现它,你就不能make对齐吗?
-
@harold,我无法控制工具链的某些部分。例如,链接器。在这种情况下,我也无法控制特定于目标的代码生成器。
标签: c pointers assembly compiler-construction cpu