国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Ruby > 正文

使用C++來編寫Ruby程序擴展的教程

2020-10-29 19:41:17
字體:
來源:轉載
供稿:網友

Ruby 最酷的功能之一就是使用 C/C++ 定義的應用程序編程接口 (API) 擴展它。Ruby 提供了 C 頭文件 ruby.h,它隨附提供了許多功能,可使用這些功能創建 Ruby 類、模塊和更多內容。除了頭文件,Ruby 還提供了其他幾個高層抽象來擴展基于本地 ruby.h 構建的 Ruby,本文要介紹的是 Ruby Interface for C++ Extensions 或 Rice。
創建 Ruby 擴展

在進行任何 Ruby 的 C API 或 Rice 擴展前,我想明確地介紹一下創建擴展的標準過程:

  •     您具有一個或多個 C/C++ 源代碼,可使用它們構建共享庫。
  •     如果您使用 Rice 創建擴展,則需要將代碼鏈接到 libruby.a 和 librice.a。
  •     將共享庫復制到同一文件夾,并將該文件夾作為 RUBYLIB 環境變量的一部分。
  •     在 Interactive Ruby (irb) prompt/ruby 腳本中使用常見的基于 require 的加載。如果共享庫名為 rubytest.so,只需鍵入 require 'rubytest' 即可加載共享庫。

假設頭文件 ruby.h 位于 /usr/lib/ruby/1.8/include 中,Rice 頭文件位于 /usr/local/include/rice/include 中,并且擴展代碼位于文件 rubytest.cpp 中。 清單 1 顯示了如何編譯和加載代碼。
清單 1. 編譯和加載 Ruby 擴展

bash# g++ -c rubytest.cpp 

主站蜘蛛池模板:
天津市|
延边|
吴江市|
定日县|
宁河县|
新巴尔虎左旗|
上栗县|
东乡|
常熟市|
垦利县|
仲巴县|
景洪市|
利川市|
涟水县|
秀山|
墨竹工卡县|
桃江县|
廉江市|
青冈县|
环江|
井冈山市|
东方市|
霍林郭勒市|
闽侯县|
涞源县|
洪江市|
鄯善县|
漳州市|
呈贡县|
鄂托克前旗|
夏津县|
信宜市|
兰溪市|
德清县|
元朗区|
巴青县|
东台市|
孟津县|
江门市|
岳西县|
灵川县|