国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Ruby > 正文

Ruby中使用SWIG編寫ruby擴展模塊實例

2020-03-29 12:07:15
字體:
來源:轉載
供稿:網友

在使用ruby/rails的過程中,確實發現有時性能不盡人意,如生成一個擁有600項的item的3層樹形結構目錄要花去20ms,為提高性能在學習用c/c++寫ruby模塊的過程中,認識了swig,rubyInline等一系列幫助編寫c/c++來提升ruby性能的輔助工具。

rubyInline用于內嵌c/c++程序,簡單快捷,swig則幫助我們更容易地用c/c++寫出獨立的ruby模塊。

swig的入門使用方法

目標:用swig/c++編寫一個ruby模塊Test,并提供add方法作加法運算。

相關文件:
(1).test.i 接口
(2).test.h 頭文件
(3).test.cxx 函數實現
(4).extconf.rb 用于生成makefile
(5).(自動)test_wrap.cxx swig生成的test封裝
(6).(自動)Makefile Makefile文件由ruby extconf.rb得到
(7).(自動)test.so ruby模塊 由make得到

1、建立接口文件test.i

復制代碼 代碼如下:

%module test
%{
//包含頭文件
#include "test.h"
%}
//接口add
int add(int,int);

2、編寫wrap文件
復制代碼 代碼如下:

swig -c++ -ruby test.i

得到test封裝文件test_wrap.cxx

 

3、編寫test.h與test.cxx

復制代碼 代碼如下:

//test.h
#ifndef _TEST_TEST_H
#define _TEST_TEST_H
extern int add(int,int);
#endif
//test.cxx
#include "test.h"
int add(int left,int right)
{
        return left+right;
}

4、編寫extconf.rb用于快速生成makefile
復制代碼 代碼如下:

require 'mkmf'

 

dir_config 'test'
#stdc++庫,add函數未用到
$libs = append_library $libs,'stdc++'
create_makefile 'test'


運行 ruby extconf.rb 得到 Makefile 文件

 

5、生成test模塊

運行 make 得到模塊 test.so

6、測試

 

復制代碼 代碼如下:

irb
irb(main):001:0> require 'test'
=> true
irb(main):002:0> Test.add 3,4
=> 7
irb(main):003:0> Test.add 3333333333333333333333,44444444444444444
TypeError: Expected argument 0 of type int, but got Bignum 3333333333333333333333
        in SWIG method 'add'
        from (irb):3:in `add'
        from (irb):3
        from :0
irb(main):004:0>

測試成功

 

7、swig

swig支持很多c++的高級特性來編寫ruby的模塊,如類,繼承,重載,模板,stl等。

8、相關鏈接

(1).swig
(2).swig/ruby 文檔

9、備注

本文的add函數過于簡單,對比ruby 3+4性能不升反降。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
www.麻豆av.com| 天堂网中文在线| 777电影在线观看| 亚洲激情丁香| 国产天堂素人系列在线视频| 亚洲男人的天堂成人| 国产美女av在线| 欧美色欧美亚洲另类二区精品| 国产秀色在线www免费观看| 四虎精品成人a在线观看| 91最新在线| 日本在线天堂| 国产区av在线| 国产九色在线| 1区2区3区在线| 麻豆国产视频| 国产乱视频在线观看| 992tv在线观看在线播放| 在线黄色国产电影| 精品美女调教视频| 亚洲天堂二区| 在线国产三级| 欧美视频免费一区二区三区| 牛牛精品视频在线| 高潮白浆视频| 国产白浆在线| 国产天堂在线观看| 精品极品三级久久久久| 青青草在线播放| 在线黄色国产电影| 国产中文在线观看| 中文字幕在线资源| 成年网站免费入口在线观看| 国产精品99999| 国产一二区视频| 久热av在线| 四虎免费播放| 国产农村av| 久草在线视频网| 久久精品无码一区二区日韩av| 影音先锋中文字幕在线| 国产人成精品| 黄色网页网址在线免费| 成人午夜无人区一区二区| 青青艹在线视频| 欧美高清视频| 五月天婷婷基地| 欧美性猛交xxxx免费看蜜桃| √天堂中文在线| 精品国语对白精品自拍视| 亚洲精品手机在线| 四虎免费视频| 青青国产在线| 中文字幕av在线| 国产大学生粉嫩无套流白浆| 在线视频观看亚洲| 国产在线视精品麻豆| 国产叼嘿网站免费观看不用充会员| av免费在线免费| 99热99re6国产在线播放| 精品网站www| 国产精品jvid在线观看| 国产女人伦码一区二区三区不卡| 国产裸舞福利在线视频合集| 97一区二区三区| 国产中文伊人| 四虎免费视频| 国产对白国语对白| 在线免费观看你懂的| 久草电影在线| 日本动漫同人动漫在线观看| 最近中文字幕在线中文视频| 国产亚洲精品久久久网站好莱| 69av二区| 国产黄色大片在线观看| www.久草.com| 国产黄在线观看免费观看不卡| 国产理论电影在线| 国产黄色在线观看| 青青免费在线视频| 国产色在线观看| av手机免费在线观看| 青青青国产视频| 午夜羞羞小视频在线观看| eeuss影影院www在线播放| 中文字幕在线免费观看| sm国产在线调教视频| www.大网伊人| 中文字幕第一页在线| 精品电影在线| 成人午夜无人区一区二区| 精品国产一区二区三区不卡在线| 欧美日韩一区二区三区在线播放| 国产成人精品男人的天堂538| 国产高清自拍视频在线观看| 一级黄色av| 国产专区在线| 国产高清自拍视频在线观看 | 国产色a在线观看| 在线成人一区| 精品欧美日韩一区二区| 国产福利视频在线观看| 国产成人福利| 在线色视频观看| 亚洲精品视频区| 在线观看中文字幕| 国产不卡在线| 国产麻豆精品入口在线观看| 中文字幕不卡| 18激情网站| jlzzjlzz欧美大全| 国产精品va在线观看视色| 国产激情三区| 99热在线免费播放| 精品视频一二区| 激情五月色综合亚洲小说| www在线观看播放免费视频日本| 九九热视频免费在线观看| 亚洲精品在线视频免费| 日本在线观看| 在线免费观看黄色av| 2021av在线| 黄网在线免费| 伊人网在线观看| 国产精品入口麻豆免费看| 国产三级在线| 国产精品乱码一区二区三区视频| 欧美日韩亚洲第一页| 国产在线传媒| 国产免费一级| 国产成a人亚洲精v品| 亚洲精品aaaa| 国产欧美日韩精品综合| 亚洲高清在线免费| 国产成人精品自线拍| 欧美日韩性视频一区二区三区| 国产乱码在线| 国产黄色在线免费观看| 中文一区在线观看| 国产理论片免费观看| 久草亚洲一区| 激情六月婷婷| 亚洲综合在线网| 99热在线免费观看| 天堂中文在线视频| 伊人色综合网| 国产麻豆免费| 美女av在线播放| 国产视频二区在线观看| 国产精品理人伦一区二区三区| 国产无遮挡又黄又爽免费网站| 九色成人在线| а√最新版在线天堂| 国产美女自拍视频| 亚洲精品视频在线免费| 成年网站免费入口在线观看| 国产精品久久麻豆| 日本卡一卡2卡3卡4精品卡网站| 开心婷婷激情| 国产激情自拍| 97国产视频| 国产免费一级| 麻豆精品视频入口| 国产综合视频一区二区三区免费| 天天艹天天操| 7777在线| 精品免费视频一卡2卡三卡4卡不卡| ·天天天天操| 国产porny蝌蚪视频| 大香伊人久久| 国产美女视频一区二区三区| 天天草天天操| 久久亚洲资源| 中文字幕视频在线观看| 国产一级免费看| av在线电影观看| 国产精品视频一区二区久久| 国产探花视频在线观看| 午夜国产在线| 中文字幕2019第三页| 中文天堂av| 国产一区二区影视| 日韩国产成人| 在线免费观看你懂的| 中文字幕av高清| 国产亚洲精品拍拍拍拍拍| 国产视频第一区| 亚洲天堂久久久| 国产91大片| 久久精品国产亚洲a∨麻豆| 一级黄色av| 国产91在线视频蝌蚪| 午夜在线小视频| 国产三级视频在线播放线观看| 国产黄色在线播放| 999在线视频| 国产亚洲精品久久久网站好莱| 中文字幕av网| 在线天堂中文www视软件| eeuss影院www在线播放|