我想以比这更好的方式转换std::uint32为:std::vector<std::uint8>
std::uint32_t base_rva = 0xccddee00;
std::vector<std::uint8_t> vraw_data;
//copying base_rva to raw_data
vraw_data.resize(sizeof(base_rva));
std::memcpy(vraw_data.data(), &base_rva, sizeof(base_rva));
Run Code Online (Sandbox Code Playgroud)
我一直在寻找类似的东西:
std::vector<std::uint8_t> vraw_data((std::uint8_t*)&base_rva, sizeof(base_rva));
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
使用Microsoft的编译器的Visual C ++,允许我们使用以下命令定义内联汇编代码:
__asm {
nop
}
Run Code Online (Sandbox Code Playgroud)
我需要的是一个宏,可以将这样的指令乘以n次:
ASM_EMIT_MULT(op, times)
Run Code Online (Sandbox Code Playgroud)
例如:
ASM_EMIT_MULT(0x90, 160)
Run Code Online (Sandbox Code Playgroud)
那可能吗?我该怎么办?