我正在考虑将一个为 Windows 编写的脚本引擎移植到 Linux;它用于Winamp的可视化平台AVS。我不确定目前是否有可能。据我所知,代码正在获取 C 函数的地址nseel_asm_atan
并将nseel_asm_atan_end
它们存储在一个表中,它可以在代码执行期间引用该表。
我查看了 MS 的文档,但我不确定__declspec(naked)
真正的作用。文档中提到的 prolog 和 epilog 代码是什么?这与 Windows 调用约定有关吗?这是便携的吗?知道任何使用类似技术的基于 Linux 的示例吗?
static double (*__atan)(double) = &atan;
__declspec ( naked ) void nseel_asm_atan(void)
{
FUNC1_ENTER
*__nextBlock = __atan(*parm_a);
FUNC_LEAVE
}
__declspec ( naked ) void nseel_asm_atan_end(void) {}