用ASMJIT引用全局变量
Referring global variable with AsmJit
我需要将现有的全局变量/exernal变量的地址加载到使用LEA操作的寄存器。这可能在Asmjit中吗?关联的PTR函数似乎仅接受需要在ASMJIT中创建的GPVAR。
有多种方法可以做到这一点。最便携式和建议的方法是使用 mov reg,imm :
using namespace asmjit;
using namespace asmjit::host;
// You have to initialize these...
Compiler c;
GpVar var(c, kVarTypeIntPtr);
void* p = NULL;
c.mov(var, imm_ptr(p));
或 lea reg,mem 具有绝对地址[mem]表格。该解决方案仅在32位模式下按预期工作。绝对地址大小总是将32位截断:
c.lea(var, ptr_abs(p));
相关文章:
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 当vector是tje全局变量时,c++中vector的内存管理
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 内联函数中具有内部链接的全局变量
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 全局变量 多读取器 一个写入器多线程安全?
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- QT C++中对全局变量的未定义引用
- 对全局变量的非常量引用的初始化无效
- 将全局变量作为常量引用传递
- 为什么我不能使用 constexpr 全局变量来初始化 constexpr 引用类型
- 如何获取LLVM中指令引用的所有全局变量
- 用ASMJIT引用全局变量
- GCC链接器抱怨对现有全局变量的未定义引用
- 为什么不允许全局的结构/联合子项作为模板引用参数 - 而是全局变量本身
- GCC在lambda函数中通过引用错误地捕获全局变量
- 内联变量仿真:我可以使用全局静态引用来强制函数中静态变量的初始化顺序吗?
- 创建构造函数引用全局变量的类的全局实例时,C++ 程序崩溃
- 如何在c++中引用与局部变量同名的全局变量
- 引用全局变量的模板函数(取决于类型)