Cairo函数参数的格式是什么。我的意思是坐标和颜色RGBA参数。
我想从汇编语言中使用它,因此C / C ++类型不合适。
它实际上是32位浮点格式吗?
另外,如果“double”是64位 - 那么关于调用约定的下一个问题 - 如何在32位堆栈中传递64位参数?
答案 0 :(得分:0)
不同操作系统和不同平台的调用约定各不相同。例如,x86主要使用基于堆栈的参数,而x86-64主要使用基于寄存器的参数。
至于将64位值推送到32位堆栈,你需要分别推两半 - 因为x86是带有下推堆栈的小端,你需要推动上层首先是-32位,然后是低32位。
但是,要完全确定,您始终可以编写一个小C函数来调用有问题的库函数,将其编译为汇编,并查看它如何处理参数。