簡介
? ? ? ? Node.js是一個基于Chrome V8引擎的JavaScript運行環(huán)境.Node.js使用了一個事件驅(qū)動聋伦,非阻塞式I / O的模型,使其輕量又高效揉忘。
? ? ? ? 嵌入式開發(fā)C / C ++和安卓原生使用的java的屬于一個周期長和研發(fā)成本較高的工作蕉鸳,但是隨著技術(shù)的發(fā)展骇扇,某些前端語言技術(shù)在大行其道,所以使用JS進行一些簡單的對CPU負載要求低的工作可以使用间坐,這樣前端的人員就會擴展到服務(wù)器后端工作或者嵌入式工作灾挨,這樣,保證跨平臺開發(fā)的高效和前端和服務(wù)器端竹宋,嵌入式式終端開發(fā)的高效劳澄。
開發(fā)環(huán)境介紹
- 主機操作系統(tǒng):Ubuntu14.04 64位
- 目標(biāo)平臺:全志A40I
- 交叉工具鏈:arm-linux-gnueabi,gcc5.3.1
- node.js版本:v10.16.0
- 編譯時間:2019.5.31
注意:node.js隨著新版本的發(fā)布蜈七,已經(jīng)對GCC的版本有一定要求了秒拔,具體要求可以查閱node.js代碼目錄下的BUILDING.md文件。node-v10.16.0對gcc編譯器的要求為:GCC >= 4.9.4飒硅。
交叉編譯
Step1. 下載
下載地址:https://nodejs.org/en/download砂缩。本文以 node-v10.16.0.tar 版本為例。
歷史版本: https://nodejs.org/zh-cn/download/releases/
Step2. 配置
export ARCH=arm
export LINK_host="g++"
export CXX_host="g++"
export CC_host="gcc"
export AR_host="ar"
export CC=arm-linux-gnueabi-gcc
export CXX=arm-linux-gnueabi-g++
export LD=arm-linux-gnueabi-ld
export RAINLIB=arm-linux-gnueabi-rainlib
export AR=arm-linux-gnueabi-ar
export AS=arm-linux-gnueabi-as
./configure --dest-cpu=arm --without-snapshot --prefix=$PWD/node-v10.16_install --dest-os=linux --cross-compiling
其中狡相,
- --dest-cpu: 指定編譯平臺arm梯轻。
- --prefix: 指定安裝目錄,編譯后的文件會全部放在安裝目錄中尽棕。
- --cross-compiling: 指明交叉編譯
- --without-snapshot:交叉編譯需要加這選型喳挑,否則會報錯;
Step3. 編譯安裝
make -j4
make install
注:需要安裝cmake
/home/work/project/module/node-v10.16.0/out/Release/torque: 1: /home/work/project/module/node-v10.16.0/out/Release/torque: Syntax error: word unexpected (expecting ")")