`
snow_14
  • 浏览: 37117 次
  • 来自: ...
社区版块
存档分类
最新评论

编写ruby C语言扩展库

 
阅读更多

 

# Loads mkmf which is used to make makefiles for Ruby extensions require 'mkmf' 
# Give it a name 
extension_name = 'cext' 

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 就好了.

 

分享到:
评论

相关推荐

    绿化ruby193

    2. **include**:这个目录包含Ruby的头文件,主要用于C语言扩展Ruby库时的编译。如果你需要编写C语言的Ruby扩展模块,你需要引用这些头文件。 3. **share**:这个目录通常包含共享资源,如locale数据、gems的元数据...

    Watir的介绍文档:基于RUBY的web UI自动化测试库

    Ruby是解释型而非编译型语言,由Matz(Yukihiro Matsumoto)于1994年创建,用C语言编写,可以在任何拥有C编译器的平台上运行,包括Windows和Linux。 Watir的工作原理是利用Internet Explorer(IE)的COM接口,即...

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64.zip

    Ruby的C扩展库允许开发者使用C语言编写高性能的代码,并与Ruby代码无缝集成。DevKit提供了一套工具,如mingw-w64,使得在Windows环境下编译这些C扩展成为可能。 总的来说,"rubyinstaller-devkit-3.0.2-1-x64.zip...

    Ruby2.7.1_1_x64

    RubyInstaller还支持DevKit,这是一个用于编译和构建C语言扩展的工具包,对于那些需要使用C扩展的Ruby库来说尤其重要。 DevKit是一个小型的开发工具集,它包含了一系列用于在Windows上编译原生Ruby扩展所需的工具,...

    ruby programming

    为了更好地编写Ruby代码,推荐使用以下编辑器: - **Visual Studio Code**:通过安装Ruby插件来支持Ruby开发。 - **Sublime Text**:同样可以通过插件支持Ruby开发。 - **Atom**:社区活跃,插件丰富。 - **RubyMine...

    ruby-2.4.5.tar.gz

    4. `ext/`: 扩展模块目录,用于存放C语言编写的Ruby扩展。 5. `lib/`: 标准库目录,包含预装的Ruby库。 6. `test/`: 测试套件,用于验证代码的正确性。 7. `doc/`: 文档目录,包括API参考和用户指南。 要安装和使用...

    Ruby-mysql2一个现代的简单和非常快速的RubyMysql库

    1. **高效性**:mysql2库使用C语言编写,直接与MySQL C API对接,减少了中间的解释成本,提高了数据读取和写入的速度。 2. **简单易用的API**:它提供了一个简洁的Ruby接口,使得执行SQL查询、处理结果集以及管理...

    ruby-1.9.1-p0-i386-mswin32.zip

    5. include:这个目录包含了Ruby的头文件,它们是C语言编写扩展模块时所需的,允许开发者用C语言直接与Ruby API交互。 6. doc:文档目录,可能包含Ruby 1.9.1的官方文档、API参考或者其他帮助文件,对于学习和开发...

    ruby-1.9.2-preview1-x64-mswin64-80.zip

    - **include**: 这个目录包含头文件,供C/C++扩展或与其他C语言库交互时使用。这些头文件定义了Ruby的API,开发者可以使用它们来创建自定义的Ruby扩展模块。 - **lib**: 库文件夹包含了Ruby运行时所需的动态链接库...

    ruby 中文 教程 从入门到精通

    - **可扩展性**:Ruby可以通过扩展库来增强其功能,这些库通常以C语言编写,以提高性能。 #### 三、Ruby的安装与使用 - **下载与安装**:Ruby的安装可以通过官方渠道获取最新版本,例如Ruby 1.8.5版本。对于...

    rubyinstaller-devkit-3.0.0-1-x64.exe

    这个压缩包中的`rubyinstaller-devkit-3.0.0-1-x64.exe`文件是DevKit的集成,意味着在安装Ruby的同时,也会安装这个开发工具包,以便开发者可以利用C语言编写Ruby的扩展模块。 Ruby语言本身是一种面向对象、动态...

    RubyInstallers Window(Ruby安装包Windows)

    5. 安装DevKit:RubyInstaller不包含用于编译C扩展的工具,需要额外安装DevKit,这提供了GCC等工具,使得你可以使用C语言编写的Ruby库。 6. 验证安装:安装完成后,打开命令行,输入`ruby -v`,如果正确安装,会显示...

    Ruby算法和数据结构。C扩展_Ruby_C_下载.zip

    7. **C扩展**:Ruby允许通过C语言编写高性能的扩展模块。这可能是为了加速算法执行,因为C语言比Ruby更接近底层硬件,运行速度更快。开发者可能使用C来实现内存管理效率更高或者计算密集型的部分。 8. **实践应用**...

    ruby hacking guide 中文版教程

    6. **Ruby C API**:对于想要深入到Ruby底层的开发者,书中有章节介绍如何使用Ruby的C API来扩展Ruby,创建C语言编写的Gem,这包括了如何创建Ruby对象、调用Ruby方法和处理Ruby数据类型等。 7. **调试与性能优化**...

    Programming Ruby

    - **第17章:Extending Ruby**:讲解如何使用C语言扩展Ruby的功能。 - **第18章至第23章**:这些章节涵盖了Ruby语言的核心特性,包括类和对象的高级主题、锁(lock)机制、反射(reflection)、分布式Ruby等。 #### 六...

    ruby语法基础教程

    5. 可扩展性:可以使用C语言编写扩展,提高性能或添加新的功能。 Ruby与Python相比,两者都注重代码的可读性和简洁性,但Ruby更倾向于面向对象,而Python则在面向过程和面向对象之间保持平衡。Ruby的语法通常更加...

    Programming Ruby The Pragmatic Programmer's Guide

    Ruby不仅可以通过内置功能满足大部分需求,还可以通过C语言扩展其功能。本章介绍了如何使用C语言编写扩展模块,并将其集成到Ruby环境中。 ##### 第18章至第27章及附录 剩余章节涵盖了Ruby语言的各个方面,从语言...

    Ruby语言教程.docx

    - 可扩展性:可以轻松地通过C语言扩展Ruby的功能。 - 简洁易读:语法简洁明了,易于阅读和编写代码。 - **跨平台性**:支持多种操作系统,包括Windows、Mac OS、Linux等UNIX的各种版本。 #### 二、Ruby语言适用...

    rubyinstaller-2.6.1-1-x64.exe

    这个安装程序还可能包含了DevKit,这是一个配套的工具集,用于帮助开发者在Windows上编译和管理C语言扩展的Ruby gem(Ruby的库或模块)。 Ruby 2.6.1引入了多个新特性,比如改进的性能、新的语法糖、更好的错误报告...

Global site tag (gtag.js) - Google Analytics