C++ 在单独的文件中执行命令
是否可以将“命令”存储在单独的文件中,并在您输入该文件名时调用它C++ 在单独的文件中执行命令,c++,batch-file,embed,C++,Batch File,Embed,是否可以将“命令”存储在单独的文件中,并在您输入该文件名时调用它 假设:filehelp包含代码:cout如果要在文件中执行脚本,您需要使用现有脚本语言并在程序中包含解释器,或者发明自己的脚本语言和代码来解释它 如果你想让文件包含C++代码在运行时执行,这是不可能的,否则你会被告知。其实这不是不可能的;告诉你技术上是错误的人。但这是非常困难的,绝对不是一个初学者的项目 你需要在程序中包括一个完全成熟的C++编译器,在运行时编译文件中的代码并执行结果。当程序试图这样做时,一些病毒扫描程序可能会不高
假设:file
help
包含代码:cout如果要在文件中执行脚本,您需要使用现有脚本语言并在程序中包含解释器,或者发明自己的脚本语言和代码来解释它
<>如果你想让文件包含C++代码在运行时执行,这是不可能的,否则你会被告知。其实这不是不可能的;告诉你技术上是错误的人。但这是非常困难的,绝对不是一个初学者的项目
你需要在程序中包括一个完全成熟的C++编译器,在运行时编译文件中的代码并执行结果。当程序试图这样做时,一些病毒扫描程序可能会不高兴。(有时我的人会抱怨我在Visual Studio中的创作!)
或者您需要运行时C++解释程序。如果有这样的事情存在,我将非常有兴趣知道它
实际上,你可以期望的是一个能用非常有限的C++子集工作的解释器。你是否在运行时可以在文本文件中执行C++代码?(答案是否定的,除非你携带一个C++编译器,或者你的程序或者发明一个解释器)你需要把代码存储在某个地方。在函数/lambda/etc中。。。您可以将该包装层添加到另一个文件中,然后从那里包含该文件。。。也就是说,如果这能让你快乐的话。我并不真正明白这一点。@ VistoSavcCeCo:C++不是脚本语言,但我还是怀疑你真的需要在程序中使用这样的脚本语言特性。也许你画了一张更大的图片,然后讲述它的用例。如果你太喜欢Lua,为什么不在你的C++程序中嵌入一个Lua VM?这就是它的用途。根据您的平台,您可能需要dlopen
或LoadLibrary
(注意:不是标准的C++)。有一个对插件系统有用的包装器:libltdl。?对话者当然存在。我怀疑他们是OP的好解决方案。@ Flexo,这些都运行所有标准C++还是仅仅是它的一个子集?所以C++是静态类型的语言,对吗?与Lua相反,Lua更灵活,如果我理解正确的话。我想我明白了。所以我的选择是嵌入另一种语言来实现这个目的?@ VisturSavcCo C++是从底层设计成一种编译语言。因此,尽管100%的解释器在技术上并非不可能,但在实践中产生它太难了,据我所知,对于这类任务,最好嵌入一种脚本语言,我想这是在Minecraft for ComputerCraft中使用LUA完成的。谢谢你的回答。
> help
cout << "type help for help, programs for list of programs etc";