C++命令行:输出程序变量值

发布于 2024-12-10 18:47:27 字数 256 浏览 0 评论 0 原文

我正在为我的应用程序编写一个下拉控制台。假设我想通过使用以下命令输出变量 myvar 的值:

]/get myvar

有没有比创建映射更好的方法,以便输出

return mymap[argv[0]]; ?

为 换句话说,我可以关联输入 char 数组“ myvar” 到名为 myvar 的变量,而无需对程序中的所有变量手动执行此操作。

I am writing a drop-down console for my app. Suppose I want to output the value of variable myvar by using the following command:

]/get myvar

Is there a better way than to create a map so that the output is

return mymap[argv[0]]; ?

In other words, can I associate the input char array "myvar" to the variable named myvar without doing it manually for all the variables in the program.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最近可好 2024-12-17 18:47:27

简短回答:

不。

长回答:

噗,不可能!当你的代码被构建为二进制文件后,就不存在变量名这样的东西了。只是一些指针、堆栈上的值等等...

如果您想实现这样的东西,我建议您使用脚本库(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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文