看了社区里 gitlab 的一篇文章,很好奇 libgit2 这个 c 语言写的程序是怎么绑定到其他语言的,比如 Ruby 的 rugged。
是在 rugged 中调用 libgit2 中的方法吗?
顺便贴出那篇文章看看呗~
就是把 rugged 编译成 Ruby 的 C extension,然后再写了一些 Ruby 代码增强易用性。
#1 楼 @malayke https://ruby-china.org/topics/30146 就是这篇,libgit2 的 API https://libgit2.github.com/libgit2/#HEAD rugged 的 github 托管地址: https://github.com/libgit2/rugged/tree/master/lib/rugged
我就不明白他们怎么联系上的
http://tenderlovemaking.com/2009/12/18/writing-ruby-c-extensions-part-1.html 好像明白了一点,多谢@nouse
ruby c extension book
#5 楼 @flowerwrong
就是这个,我想要的,谢谢。
https://silverhammermba.github.io/emberb/c/ https://github.com/ffi/ffi