关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

ruby中怎么编译运行C代码

发布时间:2020-01-07 17:38:08

我们知道ruby通过C EXT可以很方便的运行C代码,其实只要是C接口的语言都可以,比如汇编语言也可以哦。但是一些简单的函数难道还得费劲用C扩展的方式吗?其实ruby gem里有RubyInline包,通过它可以在ruby源代码里写C代码,然后调用执行啊!

    直接用 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)



/template/Home/Zkeys/PC/Static