Cairo 函数参数的格式是什么。我的意思是特别是坐标和颜色 RGBA 参数。
我想从汇编语言中使用它,所以 C/C++ 类型不适合。
它实际上是32位浮点格式吗?
此外,如果“double”是 64 位 - 那么关于调用约定的下一个问题 - 如何在 32 位堆栈中传递 64 位参数?
Calling conventions vary across different operating systems and different platforms. For example, x86 uses mostly stack-based arguments, whereas x86-64 uses mostly register-based arguments.
As for pushing a 64-bit value onto a 32-bit stack, you'll need to push the two halves separately - since x86 is little-endian with a push-down stack, you'll need to push the upper-32 bits first, followed by the lower-32 bits.
To be completely sure, though, you can always write a small C function that calls the library function in question, compile it to assembly, and see how it handles arguments.