第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

CGO; C函數(shù)具有int指針參數(shù),如何傳遞正確的類型?

CGO; C函數(shù)具有int指針參數(shù),如何傳遞正確的類型?

Go
胡子哥哥 2021-05-20 18:21:36
目前,我正在使用Cgo從Go調(diào)用C函數(shù)。我正在嘗試在Go中重新創(chuàng)建“讀取照片”示例。但是,C函數(shù)上的一個函數(shù)需要一個自int*  len變量(獎勵問題;是否與int *len?相同)。在我閱讀本文時,這是一個指向整數(shù)的指針。有問題的函數(shù)是ccv_writelibccv庫的。完整的簽名是:int ccv_write(ccv_dense_matrix_t* mat, char* out, int* len, int type, void* conf)相關(guān)代碼段如下:type Image struct {    image *C.ccv_dense_matrix_t}func main() {    image := new(Image)    /* ... snip ... */    dst := C.CString("black_and_white_painting.jpg")    defer C.free(unsafe.Pointer(dst))    x := 0 // <- perhaps var x int ?    C.ccv_write(image.image, dst, (*C.int)(&x), C.CCV_IO_PNG_FILE, 0)}上面的示例生成以下編譯時錯誤: cannot convert &x (type *int) to type *_Ctype_int關(guān)于如何傳遞正確的論點(diǎn)有什么想法?
查看完整描述

3 回答

?
慕俠2389804

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個贊

這似乎為我工作:


package main


/*


void foo(int *len) { *len = 1234; }


*/

import "C"


func main() {

        var x C.int

        C.foo(&x)

        println(x)

}


查看完整回答
反對 回復(fù) 2021-05-24
?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個贊

您將需要unsafe.Pointer演員表。

C.ccv_write(image.image, dst, (*C.int)(unsafe.Pointer(&x)), C.CCV_IO_PNG_FILE, 0)


查看完整回答
反對 回復(fù) 2021-05-24
  • 3 回答
  • 0 關(guān)注
  • 443 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號