編寫ruby擴充庫

來源:互聯網
上載者:User

標籤:ruby   擴充   makefile   c   extension   

# Loads mkmf which is used to make makefiles for Ruby extensions  require 'mkmf'    # Give it a name  extension_name = 'fsnet'  dirs = ["/usr/local/lib"]$libs += "-levent "$libs += "-levent_extra "$libs += "-levent_pthreads "$libs += "-ljemalloc "$CFLAGS += " -I/usr/include"$CFLAGS += " -I/usr/local/include"$CFLAGS += " -I/usr/local/include/jemalloc"$LDFLAGS += " -L/usr/lib"$LDFLAGS += " -L/usr/local/lib"# The destination  dir_config(extension_name)    # Do the work  create_makefile(extension_name)  


先建立一個這樣的檔案.

其實比較簡單易懂.

無非就是標記好要串連的串連庫

然後標記好標頭檔和庫檔案的路徑

然後create_makefile 就好了.


然後

ruby extconf.rb

如果沒出錯.就會自動產生Makefile檔案在當前路徑.

然後make  ruby的C庫就產生了.

如果想要全域使用 make install 就好了.


然後就是代碼裡要注意的

必須要有一個

void Init_fsnet()
這樣的函數原型.

會在第一次初始化的時候調用.

可以在這個函數裡做一些類和函數的定義.




編寫ruby擴充庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.