首页 > 代码库 > 编写ruby扩展库
编写ruby扩展库
# Loads mkmf which is used to make makefiles for Ruby extensions require 'mkmf' # Give it a name extension_name = 'fsnet' dirs = ["/usr/local/lib"] $libs += "-levent " $libs += "-levent_extra " $libs += "-levent_pthreads " $libs += "-ljemalloc " $CFLAGS += " -I/usr/include" $CFLAGS += " -I/usr/local/include" $CFLAGS += " -I/usr/local/include/jemalloc" $LDFLAGS += " -L/usr/lib" $LDFLAGS += " -L/usr/local/lib" # The destination dir_config(extension_name) # Do the work create_makefile(extension_name)
先建立一个这样的文件.
其实比较简单易懂.
无非就是标记好要连接的连接库
然后标记好头文件和库文件的路径
然后create_makefile 就好了.
然后
ruby extconf.rb
如果没出错.就会自动生成Makefile文件在当前路径.
然后make ruby的C库就生成了.
如果想要全局使用 make install 就好了.
然后就是代码里要注意的
必须要有一个
void Init_fsnet()这样的函数原型.
会在第一次初始化的时候调用.
可以在这个函数里做一些类和函数的定义.
编写ruby扩展库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。