【问题标题】:Is CMake an equivalent of npm?CMake 相当于 npm 吗?
【发布时间】:2019-09-29 06:04:03
【问题描述】:

我对 CMake 和编译语言完全陌生。我见过this question and answer。但我仍然不完全了解 CMake 是什么。

我来自 nodeJs/Javascipt 环境,因此如果我知道 nodeJs/Javascipt 环境中的 CMake 等价物,它真的会帮助我理解它是什么。所以...... CMake 是否等同于 npm?

【问题讨论】:

    标签: npm cmake compiled-language


    【解决方案1】:

    不,引用自维基百科:

    CMake 是一个跨平台的免费开源软件工具,用于使用独立于编译器的方法管理软件的构建过程。它支持目录层次结构和依赖于多个库的应用程序。它与 Make、Qt Creator、Ninja、Apple 的 Xcode 和 Microsoft Visual Studio 等原生构建环境结合使用。它具有最小的依赖关系,只需要在自己的构建系统上使用 C++ 编译器。

    JavaScript 是一种解释型语言,这意味着 NodeJS/浏览器可以读取和理解代码并直接执行它。例如,C 是通过编译器(在执行前读取并理解代码)构建为机器代码(不需要理解,因为它是处理器的本机语言),并且可以更快地执行。 CMake 简化了对所有文件的调用编译器、链接库(例如设置 require)等等。尽管有时通过npm run 使用babelwebpack 和其他人被称为“建设”。

    【讨论】:

    • 所以 CMake 在您编写代码时会“编译”C++,这样您就不必在每次想要测试代码时都编译它?或者:“使用独立于编译器的方法管理软件的构建过程”是什么意思?
    • 我想我现在明白了。只是为了澄清这是否意味着 JavaScript 已经在机器代码中?同样从您的回答中,您说 Wikipedia 说:“CMake 是一种使用独立于编译器的方法管理软件构建过程的工具”。然后你继续说:'CMake 简化了对编译器的调用'。那么“独立于编译器的方法”是什么意思呢?
    • 不,JavaScript 不在机器码中,而是在 JavaScript 中。 Node.JS 不会先将其转换为机器码,它会在执行时进行
    • 还有不同的程序可以将 C(++) 转换为机器码。它们被称为编译器。 CMake 管理如何调用编译器、要转换哪些文件(如果它尝试游戏的声音文件会很奇怪)以及如何组合所有内容。
    猜你喜欢
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 2018-05-04
    • 2012-11-12
    相关资源
    最近更新 更多