亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

我應該用 Go 編寫跨平臺服務嗎?

我應該用 Go 編寫跨平臺服務嗎?

Go
qq_遁去的一_1 2021-08-23 15:35:49
我正在考慮編寫跨平臺(Windows/Debian/Darwin/Red Hat)服務并比較語言選項。我真的很欣賞 Go 的跨平臺線程能力和簡單的交叉編譯,但我想確保我能夠在需要時輕松訪問任何本機(例如 Windows 服務)API。我應該考慮什么樣的事情來推動我的語言決定?
查看完整描述

1 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

Go 完全支持通過其核心包調用任意Win32 API syscall

雖然調用原始 Win32 viasyscall寫起來不是很漂亮(主要是因為你跨越了托管/非托管邊界,然后返回)并且沒有編譯器的支持(類似于 Delphi 的支持),但這只是好的,此類 API 調用的包裝器函數的生成可以自動化——Go 核心包本身就使用了這個工具,其他流行的例子包括這個odbc包。

請注意,已經存在winsvc一個庫,它將 Go 與 Windows SCM 和事件日志連接起來。

還要看看service哪個提供了統一的 API,用于使用平臺原生工具(它winsvc在 Windows、IIRC 上使用)將您的程序轉換為守護進程/服務。


查看完整回答
反對 回復 2021-08-23
  • 1 回答
  • 0 關注
  • 238 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號