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

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

用go + swig替換c ++

用go + swig替換c ++

Go
一只名叫tom的貓 2021-04-29 14:11:43
我最近問了這個(gè)問題https://softwareengineering.stackexchange.com/questions/129076/go-instead-of-cc-with-cgo,得到了一些非常有趣的輸入。但是我的問題有一個(gè)錯(cuò)誤:我認(rèn)為cgo也可以用來訪問c ++代碼,但這是不可能的。相反,您需要使用SWIG。go常見問題解答說:“ cgo程序提供了“外部函數(shù)接口”的機(jī)制,以允許從Go代碼安全地調(diào)用C庫。SWIG將此功能擴(kuò)展到了C ++庫。”我的問題: 是否可以使用SWIG + Go訪問高級Q ++框架(例如QT)并提高生產(chǎn)力?我想使用Go作為一種“腳本語言”來利用c ++庫。你有去圍棋的經(jīng)驗(yàn)嗎?有我要注意的陷阱嗎?更新/回答:我也在IRC上問過這個(gè)問題,我認(rèn)為問題已經(jīng)解決了:SWIG是連接其他語言的c ++代碼的一種非常簡潔的方法。可悲的是,將c ++的類型匹配到類似go的東西可能非常復(fù)雜,并且在大多數(shù)情況下,您必須自己指定映射。這意味著SWIG是利用現(xiàn)有代碼庫重用已經(jīng)編寫的算法的好方法。但是,映射像Qt這樣的庫要花很多時(shí)間。注意,這肯定是可能的,但您不想這樣做。那些使用go進(jìn)行GUI編程的人可能想要嘗試go-gtk或wxWidgets的go版本。
查看完整描述

2 回答

?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

是否可以?是的。

能否在相當(dāng)短的時(shí)間內(nèi)完成?不。

如果回頭看一下采用大型框架并試圖在其上放置抽象層的其他項(xiàng)目,您會發(fā)現(xiàn)大多數(shù)都是“不完整的”。您可能可以做一個(gè)相當(dāng)不錯(cuò)的開始,并準(zhǔn)備好一些初始包裝器,但是通常情況下,即使要使用自動工具(盡管有很多幫助,但可以從來沒有一個(gè)完整的解決方案)。然后...您會感到討厭,剩下的10%會讓您永遠(yuǎn)死掉(好吧,至少真的很長一段時(shí)間)。然后首先考慮它是如何改變的目標(biāo)。例如,Qt將發(fā)布下一個(gè)主要重寫。

通常,堅(jiān)持設(shè)計(jì)框架所用的框架語言是最安全的。盡管許多項(xiàng)目本身都具有語言擴(kuò)展。例如,對于Qt,您應(yīng)該簽出QML,QML提供(以及許多其他功能)與Qt的javascript綁定。有點(diǎn)。但是它可能滿足您的“腳本”要求。


查看完整回答
反對 回復(fù) 2021-05-10
?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

有關(guān)此問題的相關(guān)更新:現(xiàn)在可以使用帶有此CL的cgo與c ++進(jìn)行交互,該CL已合并到Go 1.2中。但是,它僅限于類似C的函數(shù)調(diào)用,并且不支持類,方法和C ++好東西(但是,我希望如此)。


查看完整回答
反對 回復(fù) 2021-05-10
  • 2 回答
  • 0 關(guān)注
  • 297 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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