ruby中如何直接编译运行C代码
2014-11-30 20:46
260 查看
我们知道ruby通过C EXT可以很方便的运行C代码,其实只要是C接口的语言都可以,比如汇编语言也可以哦。但是一些简单的函数难道还得费劲用C扩展的方式吗?其实ruby gem里有RubyInline包,通过它可以在ruby源代码里写C代码,然后调用执行啊!
直接用 gem install RubyInline 安装吧!我们测试一下:
可以看到ruby中很方便的调用C中的函数,因为后面用了C99的语法,所以要在flags中设置C99选项.注意flags是以数组而不是字符串来赋值的!
直接用 gem install RubyInline 安装吧!我们测试一下:
require 'inline' class A inline do |b| b.include '<stdio.h>' b.flags=["-std=c99"] b.c " int show(int i,int j) { return i+j; }" b.c "int main(void) { puts(\"hello world!\"); return 0; }" b.c 'void fast_inc(long x) { long long v = 0; for(long i=0;i<x;++i) for(long j=0;j<x;++j) for(long k=0;k<x;++k) v += i+j*k; //printf("now is %ld , %ld , %ld\n",i,j,k); printf("v is %lld\n",v); }' end end a = A.new puts a.show(1,2) a.main() a.fast_inc(90000000000000)
可以看到ruby中很方便的调用C中的函数,因为后面用了C99的语法,所以要在flags中设置C99选项.注意flags是以数组而不是字符串来赋值的!
相关文章推荐
- ruby中如何直接编译运行C代码
- ruby中如何直接编译运行C代码
- MAC 系统如何使用 Sublime Text 2 直接编译运行 java 代码
- c语言中关于指针的一些乱七八糟的代码 VC6中直接编译运行!
- 【NotePade++】NotePade++如何直接编译运行java文件
- 如何使用命令行编译和运行Java代码
- MAC 系统下使用 Sublime Text 2 直接编译运行 java 代码
- x264代码剖析(二):如何编译运行x264以及x264代码基本框架
- 如何确定C#代码是在编译时执行还是在运行时执行
- Notepad++配合MinGW直接编译运行C/C++代码的窍门
- 如何让sublime编译和运行c和c++代码
- 如何实现在Windows下编写的代码,直接在Linux下编译
- 黄聪:如何判断VS开发C#是否为设计模式,以免编译之前操作窗体设计器代码自动运行
- 如何运行ruby代码
- 如何让sublime编译和运行c和c++代码
- Java代码中添加 package语句后,如何正确编译运行。
- 在命令行模式下如何编译运行Java代码
- 如何把代码中的SQL语句改成可以直接在数据库中运行的SQL语句
- editplus如何直接编译运行命令提示符
- 如何实现在Windows下编写的代码,直接在Linux下编译