开罗图书馆参数格式

时间:2013-07-31 15:35:19

标签: assembly x86 cairo

Cairo函数参数的格式是什么。我的意思是坐标和颜色RGBA参数。

我想从汇编语言中使用它,因此C / C ++类型不合适。

它实际上是32位浮点格式吗?

另外,如果“double”是64位 - 那么关于调用约定的下一个问题 - 如何在32位堆栈中传递64位参数?

1 个答案:

答案 0 :(得分:0)

不同操作系统和不同平台的调用约定各不相同。例如,x86主要使用基于堆栈的参数,而x86-64主要使用基于寄存器的参数。

至于将64位值推送到32位堆栈,你需要分别推两半 - 因为x86是带有下推堆栈的小端,你需要推动上层首先是-32位,然后是低32位。

但是,要完全确定,您始终可以编写一个小C函数来调用有问题的库函数,将其编译为汇编,并查看它如何处理参数。