0
我想爲emscripten分配一個結構體並將它傳遞給使用ccall的函數。 的C結構是這樣的:Emscripten:傳遞結構指針作爲參數
typedef float HPDF_REAL;
typedef struct _HPDF_Point {
HPDF_REAL x;
HPDF_REAL y;
} HPDF_Point;
所以我在Javascript分配兩個浮標和它作爲一個參數傳遞
struct_ptr = Module['allocate']([123,321], 'float', ALLOC_NORMAL)
res = Module['ccall']('HPDF_Page_GetCurrentTextPos', 'number', ['number', 'number'], [page_ptr, struct_ptr])
但是當我得到的結構數據
FLOAT_SIZE = 4
point = {
x: getValue(struct_ptr, 'float')
y: getValue(struct_ptr+FLOAT_SIZE, 'float')
}
我的分配內存未被觸及,仍然爲point.x==123
和point.y==321
。
我在這裏錯過了什麼嗎?
我只是使用值'123'和'321'作爲虛擬初始化來檢查內存是否被「觸摸」。使用零也不起作用。 – manuels