Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMake是否等同于npm?_Npm_Cmake_Compiled Language - Fatal编程技术网

CMake是否等同于npm?

CMake是否等同于npm?,npm,cmake,compiled-language,Npm,Cmake,Compiled Language,我对CMake和编译语言是完全陌生的。我看到了。但我仍然不完全理解CMake是什么 我来自nodeJs/Javascipt环境,因此,如果我知道nodeJs/Javascipt环境中的CMake等价物,它将真正帮助我理解它是什么。因此。。。CMake是否等同于npm?否,引用维基百科: CMake是一种跨平台的自由开源软件工具,用于使用独立于编译器的方法管理软件的构建过程。它支持依赖于多个库的目录层次结构和应用程序。它与本机构建环境(如Make、Qt Creator、Ninja、Apple的Xc

我对CMake和编译语言是完全陌生的。我看到了。但我仍然不完全理解CMake是什么


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

否,引用维基百科:

CMake是一种跨平台的自由开源软件工具,用于使用独立于编译器的方法管理软件的构建过程。它支持依赖于多个库的目录层次结构和应用程序。它与本机构建环境(如Make、Qt Creator、Ninja、Apple的Xcode和Microsoft Visual Studio)结合使用。它的依赖性很小,只需要在自己的编译系统上有一个C++编译器。
JavaScript是一种解释语言,这意味着NodeJS/浏览器可以读取和理解代码并直接执行。例如,C是通过编译器(在执行之前读取并理解代码)生成的机器代码(不需要理解,因为它是处理器的本机语言),可以更快地执行。CMake简化了调用编译器、链接库(如设置
require
)等所有文件的过程。虽然有时使用<代码> Babel<代码>,<代码> WebPACK/COD>和其他通过代码> NPM运行< /COD>被称为“构建”。

这样CMake编译C++作为您的代码,这样您就不必每次想要测试代码就编译它了吗?或者“使用独立于编译器的方法管理软件的构建过程”是什么意思?我想我现在明白了。只是想澄清一下,这是否意味着JavaScript已经存在于机器代码中?同样从你的回答中,你说维基百科说:“CMake是一个使用独立于编译器的方法管理软件构建过程的工具”。然后你继续说:“CMake简化了对编译器的调用”。那么,“独立于编译器的方法”是什么意思呢?不,JavaScript不是在机器代码中,而是在JavaScript中。Node.JS不会首先将其转换为机器代码,而是在执行时进行转换,并且有不同的程序可以将C(++)转换为机器代码。它们被称为编译器。CMake负责管理如何调用编译器、转换哪些文件(如果它尝试在游戏的声音文件上进行转换,那会很奇怪)以及如何组合所有内容。