当前位置: 代码迷 >> Ruby/Rails >> 编撰ruby扩展库
  详细解决方案

编撰ruby扩展库

热度:168   发布时间:2016-04-29 02:21:59.0
编写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()
这样的函数原型.

会在第一次初始化的时候调用.

可以在这个函数里做一些类和函数的定义.