我可以编写go语言库以用于其他语言吗? [关闭]

我正在编写相对较小但不是简单的网络库,至少要在C,java中使用 ,python,ruby和C#。 有没有一种方法可以将其他语言绑定到C中? 如果没有其他方法? </ p>
</ div>

展开原文

原文

I'm writing relatively small, but not simple networking library which is going to be used at least from C,java,python,ruby and C#. Is there a way to make go bindings to the other languages the way in can be done form C? If not is there other way?

doutu3352
doutu3352 能够在linux上良好运行是该项目的首要任务,而Windows是其次。
大约 6 年之前 回复
douxiajia6720
douxiajia6720 从未尝试过使用Rust,我将用D编写一个示例(它实际上需要一些按摩,但在制造方面需要更多)。但是请注意,我不是在Windows上而是在Linux上执行此操作。
大约 6 年之前 回复
duanqi5114
duanqi5114 使用Rust也可以做到这一点吗?
大约 6 年之前 回复
dooid3005
dooid3005 您能谈谈您在D方面的经历吗?
大约 6 年之前 回复
duankuixi1930
duankuixi1930 是的,可以,但是只有低级语言才能创建合适的API。也有初始化问题。潜在地,您可以使用C,C++或D(我在以上所有内容中都编写了此类库)。
大约 6 年之前 回复
dslkchyv673627
dslkchyv673627 我不能将动态链接库或静态链接库与任何其他语言一起使用吗?
大约 6 年之前 回复
dpitqpax07626
dpitqpax07626 您必须使用每种语言都可以使用的最低公分母,这种情况可能是C或C++?
大约 6 年之前 回复
du1108
du1108 对于此类项目,除了C之外还有哪些其他语言选择?
大约 6 年之前 回复
dongre8505
dongre8505 您无法使用其他语言链接到Go库。您只能使用cgo在Go程序中从C调用Go。您的程序必须从Go运行时运行。
大约 6 年之前 回复
doukao1925
doukao1925 如果希望与其他语言共享该库,则可能应该使用其他语言编写。您可以从C(以及其他一些语言)中调用Go,但是它并不漂亮,并且有很多麻烦,除非我没有其他选择,否则它会阻止我使用从另一种语言编写的Go库。您可以在此处阅读有关从C调用Go的信息:cheesesun.blogspot.com/2010/04/callbacks-in-cgo.html您将面临C#的类似问题。我相信Java会更加困难。不确定Python。
大约 6 年之前 回复

2个回答



现在,您无法使用Go语言编写可用于其他语言的库。 Go具有一个运行时环境,可以为您执行很多事情(例如安排go例程,收集垃圾)。 该运行时环境是在控制整个程序的前提下编写的。 如果要从另一种语言内部使用Go代码,则该假设不成立,因为Go库无法影响使用它的二进制文件。</ p>
</ div>

展开原文

原文

Right now, you can't write libraries in Go that can be used in other languages. Go has a runtime environment that does a lot of things (like sheduling go-routines, collecting garbage) for you. This runtime environment is written under the assumption that it controls the whole program. This assumption does not hold if Go code would be used from inside another language, as the Go library cannot influence the binary that uses it.



我想象一个JSON服务可以完成您所描述的事情。

以一个简单的示例查看 json测试
这与您过去设置和获取的语言无关 应用中的数据</ p>
</ div>

展开原文

原文

I imagine that a JSON service would do what you describe. Have a look at the json test for a simple example It wouldnt matter what languages you used to set and get data from your app

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐