修改nodejs源码,准备在lib或lib/internal目录下增加js文件,发现require不到。
其实我们应该重新编译node_js2c项目,观察\node-8.11.2\Debug\obj\node_js2c\node_js2c.tlog的custombuild.command.1.tlog日志文件,看新加入的js文件是否被编译进去。
如果没有发现自己写的js被编译进去:
第一种办法:修改node.gyp,在'library_files': ['***.js']加入自己的js,然后运行vcbuild.bat,重新生成vc工程文件。
第二种办法:找到node_js2c.vcxproj工程文件,在Command中加入"lib\internal\process\***.js",然后再编译就好了。(同时按照方法一做一下儿,但不用运行vcbuild.bat)
关于node_js2c,参考:https://cnodejs.org/topic/5a1cca03227353e00378f146,大意就是会把js预先编译成cc的中间程序,可以看一下儿\node-8.11.2\Debug\obj\global_intermediate\下面的文件。node编译的时候也会编译这些生成的中间cc程序。
如果是linux编译方式:
参考:https://www.cnblogs.com/randomsteps/p/5904879.html
主要操作:
# yum -y install gcc gcc-c++ kernel-devel
# 安装python,略(yum install python)
# ./configure
# make
# make install
如果需要升级g++,参考:https://blog.csdn.net/dream_it_life/article/details/79152399
4.9:
yum install centos-release-scl
-y
yum install devtoolset-3-toolchain -y
scl enable devtoolset-3 bash
5.2:
yum install centos-release-scl
-y
yum install devtoolset-4-toolchain -y
scl enable devtoolset-4 bash