将ConstantDataArray铸造为i8*在LLVM中
Cast ConstantDataArray to i8* in LLVM
简单的问题:"我有一个常数 [7 x i8]
的常数dataarray,我该如何施放以具有i8*
类型?"
编辑更多上下文:
常数dataArray的创建如下:
ConstantDataArray::getString(Fn->getContext(), "Hello", true);
我创建了一个llvm:函数,该函数具有来自Type::getInt8PtrTy(getGlobalContext())
的类型的参数,我想将数组投射到此类型,因此我可以将其作为参数传递。
我正在开发通行证
您可以使用IRBuilder
的CreateGlobalStringPtr
,这是一个方便包装器,用于创建全局字符串常数并返回指向其第一个字符的i8*
。
相关文章:
- 如何将 I->getType() 作为参数传递给 llvm 中的 CreateCall?
- 将尾部调用void(i32,..)位转换为llvm::函数以获取FnAttribute
- 是否可以将llvm::FunctionType转换为C/C++原始函数指针
- llvm构建器向基本块添加终止符
- 正在LLVM中检测整数比较条件
- 如何在LLVM中dyn_cast以识别StoreInst?
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- 如何使用 llvm-10 库在C++定义 LLVM 全局值变量?
- 编译 llvm 3.1 时,为什么会出现错误:在">"标记之前预期主表达式
- 如何删除 LLVM 中的不规则分支?
- LLVM | codegen 用于带有命令行选项的程序输入功能
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- 如何检查函数是否在LLVM Instrumentation pass的ModulePass的系统头文件中定义?
- 从macOS Catalina上的源代码编译LLVM(如何解决未找到"stdio.h")
- LLVM 选择找不到函数传递
- LLVM 编译:目标的配方 '../lib/IR/Release+Asserts/Intrinsics.gen.tmp' failed
- LLVM |如何实现逻辑非操作的 IR 代码生成
- 将ConstantDataArray铸造为i8*在LLVM中
- LLVM从结构值中提取i8*
- LLVM不能迭代a [3 x i8]