在单独的文件中执行命令
Execute a command in a separate file
是否可以将 "command" 存储在单独的文件中,并在您输入该文件的名称时调用它?
假设:文件 help
包含代码:cout << "This is help file.";
那么 pos 是否不需要在其中创建函数就可以获取文件的内容,直接采取行动,就像在 Lua 中一样?
Edit
嗯,我正在学习 C++,所以嵌入 Lua 对我来说没有意义,但这对我未来的项目来说是个好主意,谢谢。
我想做的是模拟命令行 os。像 ComputerCraft 这样的东西。基本上你输入一个命令,程序然后寻找一个与用户输入同名的实际文件,如果找到则执行它的内容。这一切都在运行时完成,检查文件、执行、添加新文件等。
有点像
在控制台中:
> help
程序检查名为 help 的文件,如果找到则执行它
help
的内容:
cout << "type help for help, programs for list of programs etc";
我希望它能使 pos 能够直接从模拟的 os 创建一个新的 "command" 文件并自动使其以最少的努力 pos适合用户。
我之前在 lua 中做过,我想知道它在 C++ 中如何以及是否是 possible
我在 Love2D 工作,它有一个函数 love.filesystem.load(filename)
基本上就是它的作用,它创建了一个函数,其中包含文件的内容作为它的容器,你给它命名 function = love.filesystem.load(filename)
然后执行它作为一个正常的功能。我要找的是等价的
如果你想执行文件中的脚本,你要么需要使用现有的脚本语言并在你的程序中包含一个解释器,要么发明你自己的脚本语言和代码来解释它。
如果您希望文件包含在 运行 时执行的 C++ 代码,这是不可能的,否则您会被告知。实际上这并非不可能;告诉你的人在技术上是错误的。但这非常困难,绝对不是初学者的项目。
您需要在程序中包含一个成熟的 C++ 编译器,在 运行 时编译文件中的代码并执行结果。当程序试图这样做时,某些病毒扫描程序可能会不高兴。 (有时我的人会在 Visual Studio 中抱怨我的创作!)
或者您将需要 运行-time C++ 解释器。如果存在这样的事情,我会很想知道的!
实际上,您所能期望的最好的结果是可以使用非常有限的 C++ 子集的解释器。
是否可以将 "command" 存储在单独的文件中,并在您输入该文件的名称时调用它?
假设:文件 help
包含代码:cout << "This is help file.";
那么 pos 是否不需要在其中创建函数就可以获取文件的内容,直接采取行动,就像在 Lua 中一样?
Edit
嗯,我正在学习 C++,所以嵌入 Lua 对我来说没有意义,但这对我未来的项目来说是个好主意,谢谢。
我想做的是模拟命令行 os。像 ComputerCraft 这样的东西。基本上你输入一个命令,程序然后寻找一个与用户输入同名的实际文件,如果找到则执行它的内容。这一切都在运行时完成,检查文件、执行、添加新文件等。
有点像 在控制台中:
> help
程序检查名为 help 的文件,如果找到则执行它
help
的内容:
cout << "type help for help, programs for list of programs etc";
我希望它能使 pos 能够直接从模拟的 os 创建一个新的 "command" 文件并自动使其以最少的努力 pos适合用户。
我之前在 lua 中做过,我想知道它在 C++ 中如何以及是否是 possible
我在 Love2D 工作,它有一个函数 love.filesystem.load(filename)
基本上就是它的作用,它创建了一个函数,其中包含文件的内容作为它的容器,你给它命名 function = love.filesystem.load(filename)
然后执行它作为一个正常的功能。我要找的是等价的
如果你想执行文件中的脚本,你要么需要使用现有的脚本语言并在你的程序中包含一个解释器,要么发明你自己的脚本语言和代码来解释它。
如果您希望文件包含在 运行 时执行的 C++ 代码,这是不可能的,否则您会被告知。实际上这并非不可能;告诉你的人在技术上是错误的。但这非常困难,绝对不是初学者的项目。
您需要在程序中包含一个成熟的 C++ 编译器,在 运行 时编译文件中的代码并执行结果。当程序试图这样做时,某些病毒扫描程序可能会不高兴。 (有时我的人会在 Visual Studio 中抱怨我的创作!)
或者您将需要 运行-time C++ 解释器。如果存在这样的事情,我会很想知道的!
实际上,您所能期望的最好的结果是可以使用非常有限的 C++ 子集的解释器。