国产探花免费观看_亚洲丰满少妇自慰呻吟_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 

主站蜘蛛池模板:
东方市|
慈利县|
承德县|
资溪县|
吉安县|
吴忠市|
宜都市|
西城区|
攀枝花市|
巩义市|
张北县|
西乌珠穆沁旗|
韩城市|
定日县|
兴安县|
海伦市|
崇州市|
新河县|
嘉禾县|
弥勒县|
泗洪县|
金秀|
伊金霍洛旗|
桐柏县|
时尚|
海林市|
溧阳市|
莱州市|
兴化市|
中超|
德保县|
五大连池市|
通河县|
张掖市|
剑阁县|
琼中|
丰宁|
榆社县|
繁峙县|
金坛市|
SHOW|