C++命令行:输出程序变量值
我正在为我的应用程序编写一个下拉控制台。假设我想通过使用以下命令输出变量 myvar
的值:
]/get myvar
有没有比创建映射更好的方法,以便输出
return mymap[argv[0]]; ?
为 换句话说,我可以关联输入 char 数组“ myvar” 到名为 myvar 的变量,而无需对程序中的所有变量手动执行此操作。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简短回答:
不。
长回答:
噗,不可能!当你的代码被构建为二进制文件后,就不存在变量名这样的东西了。只是一些指针、堆栈上的值等等...
如果您想实现这样的东西,我建议您使用脚本库(Lua,例如),并手动映射一些变量,以便您可以通过脚本读取/更改这些变量。在这种情况下,控制台输入基本上就是您提供给脚本引擎的内容。
这可能是一个很好的参考。
更新:
事实上,刚刚找到了名为 Lua Console 的项目。
好像不再维护了,但这并不意味着它不能用。
Short answer:
No.
Long answer:
Pfff, no way! After your piece of code is build as a binary, there is no such thing as a variable name. Just some pointers, values on the stack, and so on...
If you want to implement something like this, I would recommend you to go for a scripting library (Lua, for example), and manually map some variables so you can read/change those variables via scripts. In this case the console input is basically what you are feeding to the script engine.
This might be a good reference.
UPDATE:
In fact, just found the project called Lua Console.
Seems like it's not maintained anymore, but it doesn't mean it will not work.