最近用到了 node-gyp 这个工具, 是node 社区对 google gyp 编译工具的一个封装, 使用 node-gyp 工具可以用C++为node 项目编写 addon.

了解了一下 google gyp 工具, gyp 的意思是 generate your project. 该工具是chromium 团队为了解决 chromium 浏览器多平台构建问题, 它可以为不同的操作系统生成专门的项目文件, 比如为 windows 生成 VC++ 项目文件, 为 mac 生成 xcode 项目文件, 为 Linux 生成 Makefile 项目文件, 进而利用这些平台特定的编译工具, 完成项目构建.

gyp 项目配置文件是 .gyp 和 gypi(这里的 i 是C++ 的 include 意思), gyp和gypi配置文件其实可以认为是一个json文件, 可以允许使用 # 做注释.  一个 .gyp 文件.

(1). 在mac上, 一个 .gyp 文件会生成一个 .xcodeproj 文件

(2). 在win上, 一个 .gyp 文件会生成一个  .sln 文件, 每个target会生成一个 .vcproject 文件

(3) 在linux上, 一个.gyp文件会生成一个 Makefile.

使用说明:

http://erikge.com/articles/HelloGyp

http://gyp3.org

安装:

gyp 工具其实是 python 2.7的一个package, pypi 网站上没有收录.

正常情况下 gyp 安装, 需要git clone官方的源码, google 的网络不好访问, 所以安装过程比较麻烦, 可以使用 npm 安装 node-gyp, 也就自动完成 gyp 的安装, 甚至都不需要预先准备 python2.7.

gyp编译工具的更多相关文章

  1. koala预编译工具的使用

    Koala是一个开源的预处理语言图形编译工具,目前已支持Less.Sass.Compass与CoffeeScript. 安装Koala 在Koala官网根据你的系统平台下载对应的版本.Linux系统要 ...

  2. apk反编译工具

    反编译工具: apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar:将apk反编译成Java源码(classes.dex转化成jar文件) jd-gui:查看APK中 ...

  3. less及编译工具介绍

    什么是LESSCSS LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量.继承.运算.函数等,更方便CSS的编写和维护. LE ...

  4. eclipse安装反编译工具

    身为一名程序员来说,日常最常做的就是编写代码和查看别人写好的源代码了,有时候打开别人写的class文件发现根本不是自己想要的,所以给大家介绍一种eclipse中反编译class文件的工具. 第一步:下 ...

  5. Koala – 开源的前端预处理器语言图形编译工具

    koala 是一个前端预处理器语言图形编译工具,支持 Less.Sass.Compass.CoffeeScript,帮助 Web 开发者更高效地使用它们进行开发.跨平台运行,完美兼容 Windows. ...

  6. .net混淆、反编译工具调查

    常用的工具列表[比较常见的] 混淆器.加密 Dotfuscator VS默认带的工具,不过是个社区版 强度不大 dotNET Reactor 使用了NativeCode 和混淆的形式 Xenocode ...

  7. Android反编译工具的使用-Android Killer

    今天百度搜索“Android反编译”搜索出来的结果大多数都是比较传统的教程.刚接触反编译的时候,我也是从这些教程慢慢学起的.在后来的学习过程中,我接触到比较方便操作的Android反编译.在这,我将使 ...

  8. iOS系统提供开发环境下命令行编译工具:xcodebuild

    iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...

  9. Less/Sass编译工具,koala使用指南

    如果你正在使用sass.less或coffee,而没有注意到koala, 那说明你可能已经好久没有更新你的知识库了.koala这个由国人编写的,用于编译sass.less.coffee利器,在最近的短 ...

随机推荐

  1. MySQL-python终于安装成功了

    所有的所有全是驱动搞的鬼, 针对我的Win7 64位 Python2.7 用的wamp环境继承的mysql(或者卸载wamp环境单独安装Mysql)这里一定要用这个MySQL-python-1.2.3 ...

  2. 【新人填坑008】django升级2.x后报'WSGIRequest' object has no attribute 'session',

    1.X 到2.x后中间件定义的名字也有所不同 改一下就好了 在setting文件中将原先的 MIDDLEWARE_CLASS 改成MIDDLEWARE 如果还运行不成功  注释掉标白线的那一行 删掉也 ...

  3. 使用Anaconda3的Docker镜像

    假设本地 Ubuntu 服务器已经安装好了Docker,这里讲述一下如何开始运行Anaconda3的Docker镜像: 1. 搜索镜像 搜索我们想要的anaconda镜像: docker search ...

  4. GCN 实现3 :代码解析

    1.代码结构 ├── data // 图数据 ├── inits // 初始化的一些公用函数 ├── layers // GCN层的定义 ├── metrics // 评测指标的计算 ├── mode ...

  5. Shell—常见报错问题

    bash:$'\r': command not found 造成这个问题的原因是Windows环境下换行的“\r”到了Linux环境下不能够识别了,因为Linux环境下默认的换行符为“\n”,我们只需 ...

  6. 利用webpack打包自己的第一个Vue组件库

    先说一下这篇文章的诞生原因.我们有一个这样的项目,类似或者说就是一个仪表板-Dashboard,其中的各个部分可能不是一个部门写的……我们需要提供拖拽布局(大小和位置)和展示的能力.要实现这样一个功能 ...

  7. Java使用FeignClient发送HTTP 请求

    使用FeignClient发送HTTP请求1.添加依赖<!-- spring cloud jar--><dependency> <groupId>org.sprin ...

  8. java8-12-Optional类

      Optional类  java.util.Optional   是一个容器类 避免空指针  NPE  能够快速定位空指针   常用方法: Optional.of(T t) : 创建一个 Optio ...

  9. 站点部署,IIS配置优化指南[转]

    站点部署,IIS配置优化指南 目录 一.       设置应用程序池默认设置 二.       常规设置 三.       优化回收策略 四.       性能 五.       IIS初始化(预加载 ...

  10. React中添加注释

    React中的注释,其实确切来讲是jsx中的注释: {/*单行注释*/} {/* 多 行 注 释 */}