为什么我不能在 Node.JS 终端上使用 C++ 语法?
Why cant I use c++ syntax on Node.JS terminal?
我一直想知道为什么我不能在 Node.js 终端上使用 C++ 语法。
例如,V8 是实现 ECMAScript 的 JavaScript 引擎。 Node.js 本身是一个 C++ 程序,它告诉 V8 引擎使用它的功能。所以这些函数是用 C++ 代码编写的,因此这个应用程序应该能够采用 C++ 本机语法。这意味着如果我要在 Node.js 终端中键入 C++ 代码,那么 Node.js 终端应该能够将这些语法传递给 Node.js 核心中的 C++ 模块并成功输出。但它给出了 :
SyntaxError: Unexpected identifier
at Object.exports.createScript (vm.js:24:10)
at REPLServer.defaultEval (repl.js:236:25)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.<anonymous> (repl.js:441:10)
at emitOne (events.js:101:20)
at REPLServer.emit (events.js:188:7)
at REPLServer.Interface._onLine (readline.js:224:10)
at REPLServer.Interface._line (readline.js:566:8)
at REPLServer.Interface._ttyWrite (readline.js:843:14)
虽然 Node.js 是在 C++ 之上编写的,但我只是在寻找如何抽象这两种语言的清晰解释。
Node 和 V8 是用 C++ 编写的,但它们的工作是解释 Javascript 代码。它们不会 运行 任何 C++ 代码,就像 C++ 编译器不会编译任何 Javascript 代码一样。
仅仅因为程序是用 C++ 编写的,并不意味着它可以解释 C++ 代码。 运行 你希望这个程序理解 C++ 代码吗?
#include <iostream>
int main()
{
std::string line;
while (std::getline(std::cin, line)) {
std::cout << line << '\n';
}
}
我一直想知道为什么我不能在 Node.js 终端上使用 C++ 语法。
例如,V8 是实现 ECMAScript 的 JavaScript 引擎。 Node.js 本身是一个 C++ 程序,它告诉 V8 引擎使用它的功能。所以这些函数是用 C++ 代码编写的,因此这个应用程序应该能够采用 C++ 本机语法。这意味着如果我要在 Node.js 终端中键入 C++ 代码,那么 Node.js 终端应该能够将这些语法传递给 Node.js 核心中的 C++ 模块并成功输出。但它给出了 :
SyntaxError: Unexpected identifier
at Object.exports.createScript (vm.js:24:10)
at REPLServer.defaultEval (repl.js:236:25)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.<anonymous> (repl.js:441:10)
at emitOne (events.js:101:20)
at REPLServer.emit (events.js:188:7)
at REPLServer.Interface._onLine (readline.js:224:10)
at REPLServer.Interface._line (readline.js:566:8)
at REPLServer.Interface._ttyWrite (readline.js:843:14)
虽然 Node.js 是在 C++ 之上编写的,但我只是在寻找如何抽象这两种语言的清晰解释。
Node 和 V8 是用 C++ 编写的,但它们的工作是解释 Javascript 代码。它们不会 运行 任何 C++ 代码,就像 C++ 编译器不会编译任何 Javascript 代码一样。
仅仅因为程序是用 C++ 编写的,并不意味着它可以解释 C++ 代码。 运行 你希望这个程序理解 C++ 代码吗?
#include <iostream>
int main()
{
std::string line;
while (std::getline(std::cin, line)) {
std::cout << line << '\n';
}
}