使用 C++ 和 Node.js 在樹莓派上透過共享記憶體實現跨進程通訊

💡 原文中文,约6600字,阅读约需16分钟。
📝

内容提要

本文介绍如何在树莓派上使用C++和Node.js实现共享内存的读写,通过POSIX共享内存进行跨语言数据交互。首先编写C++程序以写入和读取浮点数,然后使用Node.js的ffi-napi和ref-napi模块从共享内存中读取数据。

🎯

关键要点

  • 本文介紹如何在樹莓派上使用C++和Node.js實現共享記憶體的讀寫。
  • 使用POSIX共享記憶體(shm_open和mmap)來實現進程間通訊。
  • 撰寫C++程式以寫入和讀取浮點數。
  • 使用Node.js的ffi-napi和ref-napi模組從共享記憶體中讀取數據。
  • 任務一:使用C++讀寫數值,包含寫入程式和讀取程式的代碼示例。
  • 編譯程式時,可能需要加上-lrt來鏈接POSIX實時庫。
  • 注意事項包括共享記憶體名稱必須以斜杠開頭,權限設置為0666。
  • 在讀取程式中使用shm_unlink刪除共享記憶體對象以防止資源洩漏。
  • 任務二:使用Node.js讀取數值,需安裝ffi-napi和ref-napi模組。
  • Node.js程式中使用ffi-napi呼叫C標準庫函數來訪問共享記憶體。
  • 運行Node.js讀取程式前需確保C++寫入程式已運行。
➡️

继续阅读