目前有什么编程语言可以开发 dll/so 动态库?

2023-11-21 09:08:35 +08:00
 cheneydog

除了 c/c++/c# 还有什么高级编程语言可以编写动态库的? 最好支持交叉编译。

4800 次点击
所在节点    程序员
30 条回复
danbai
2023-11-21 09:09:39 +08:00
go
masellum
2023-11-21 09:12:53 +08:00
zig
linauror
2023-11-21 09:12:58 +08:00
go +1
Fris
2023-11-21 09:29:50 +08:00
rust
jasonkayzk
2023-11-21 09:29:56 +08:00
rust, crate-type = ["cdylib"]

rustup 装各平台工具链交叉编译
yekern
2023-11-21 09:38:24 +08:00
易语言 /狗头
tinyfry
2023-11-21 09:50:36 +08:00
我用的 cgo ,开发 sdk 很好用。
artnowben
2023-11-21 09:57:58 +08:00
C 是最佳选择
cnoder
2023-11-21 10:06:12 +08:00
go 可以的,我不少 so go 写的
wanguorui123
2023-11-21 10:25:48 +08:00
rust
hez2010
2023-11-21 11:12:22 +08:00
zig
saturn7
2023-11-21 11:40:36 +08:00
c
realJamespond
2023-11-21 11:44:21 +08:00
vb 不能?
kaedeair
2023-11-21 11:45:19 +08:00
首先得明确你这个动态链接库的调用方是谁,不是所有动态链接库都支持不同语言调用的
gowk
2023-11-21 11:47:01 +08:00
C#
hez2010
2023-11-21 11:50:44 +08:00
另外 .net 用 nativeaot 可以直接编译出动态链接库 .so/.dll/.dylib 以及静态链接库 .a/.lib 给其他程序用,所以其实除了 C# 之外,任何在 .net 上跑的支持 nativeaot 的语言都可以,比如 VB.NET 和 F# 。
GeekGao
2023-11-21 12:14:56 +08:00
jim9606
2023-11-21 12:31:41 +08:00
基本上有提供 c 绑定的语言(运行时)都能做到吧?
高级语言通常都能支持,就是难度有差异。
cooljiang
2023-11-21 12:53:47 +08:00
python 可以转成 pyd 或者 so
GPLer
2023-11-21 12:54:06 +08:00
js 可以通过转换成 c 的方式间接支持,例如 quickjs 。
Atwood's Law: Any application that can be written in JavaScript, will eventually be written in JavaScript.
(•‿•)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/993688

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX