当前位置:首页 > 开发 > 亚博国际平台 > Ruby > 正文

编写ruby扩展库

发表于: 2015-11-13 ? 作者:互联网 ? 来源:转载 ? 浏览:
摘要:亚博国际平台 # 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 "
# 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扩展库

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight ? 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号