我正在考虑编写一个跨平台服务(Windows/Debian/达尔文/Red),并比较语言选项。我真的很欣赏Go的跨平台线程处理能力和轻松的交叉编译,但我想确保我能够轻松地接触到任何本地语言(例如。当需要时,Windows服务)API。
我应该考虑什么样的事情来推动我的语言决定?
发布于 2014-10-09 15:10:57
Go完全支持通过其核心Win32包调用任意syscall API。
syscall
虽然通过Win32调用原始syscall并不完全适合编写(主要是因为您跨越了托管/非托管边界,并且没有编译器的支持(类似于Delphi的编译器),但是这种方法工作得很好,这种API调用的包装函数可以自动生成-- Go核心包自己使用这个工具,其他流行的例子包括odbc包。
odbc
请注意,已经存在与Windows和事件日志相匹配的winsvc-a库。
winsvc
还请看一下service,它提供了统一的API,可以使用平台本机工具将程序转换为守护进程/服务(它在Windows上使用winsvc )。
service
https://stackoverflow.com/questions/26280024
相似问题