0

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

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

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

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

4

1 回答 1

0

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.

于 2013-07-31T15:50:31.907 回答