C++ C++;内联程序集,运行用户输入
问题: 您好,我最近在使用Microsoft Visual Studio 2017实现C++的内联汇编时遇到了问题。我已经能够运行内联汇编,但是我希望允许用户在控制台窗口中键入汇编代码,然后使用C++的内联汇编程序运行用户的汇编代码。我想不出怎么做,经过多次搜索,什么也没找到。因此,我在这里想问,是否有人知道如何完成这项任务 问题概述:C++ C++;内联程序集,运行用户输入,c++,visual-c++,x86,inline-assembly,C++,Visual C++,X86,Inline Assembly,问题: 您好,我最近在使用Microsoft Visual Studio 2017实现C++的内联汇编时遇到了问题。我已经能够运行内联汇编,但是我希望允许用户在控制台窗口中键入汇编代码,然后使用C++的内联汇编程序运行用户的汇编代码。我想不出怎么做,经过多次搜索,什么也没找到。因此,我在这里想问,是否有人知道如何完成这项任务 问题概述: 我将如何使用微软Visual Studio 2017的C++内联汇编程序运行用户输入的x86汇编代码?< /p> 其他信息: Microsoft Visual
我将如何使用微软Visual Studio 2017的C++内联汇编程序运行用户输入的x86汇编代码?< /p> 其他信息:
Microsoft Visual Studio 2017,Windows 10 home,x64系统,x86应用程序,调试模式 模板代码:#包括
#包括
#包括
int main()
{
std::string _string;
std::getline(std::cin,_字符串);
__asm
{
//如何在“\u字符串”字符串中运行用户输入的汇编代码?
}
std::getchar();
返回0;
}
我怀疑这是可能的,因为字符串在编译时是未知的。“我如何运行用户输入的汇编代码”出现在那里的汇编代码是在编译时注入的,没有运行时汇编程序绑定这样的东西。THX TL!允许用户输入作为代码运行将是一个巨大的安全漏洞。区分编译时和运行时构造。另外,执行用户输入的代码(汇编或非汇编)是一个严重的安全问题。@timmand“…我需要编写类似于解释器的东西…”请不要自己这样做,只需将一个集成到程序中即可。
#include <Windows.h>
#include <iostream>
#include <string>
int main()
{
std::string _string;
std::getline(std::cin, _string);
__asm
{
// How would I run the user inputted Assembly code in the "_string" string?
}
std::getchar();
return 0;
}