zoukankan      html  css  js  c++  java
  • 编写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()
    这种函数原型.

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

    能够在这个函数里做一些类和函数的定义.




  • 相关阅读:
    Linux 命令集合
    vsftpd 创建虚拟用户
    Java Web Socket
    Linux 命令集合
    YII 1.0 上传文件
    YII 1.0 扩展第三方类
    YII 1.0 发表文章用到的小物件
    YII 1.0 增删改查
    mysql 日志
    YII 1.0 小功能总结
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4341757.html
Copyright © 2011-2022 走看看