如何使用LLVM访问外部结构?
How to access external struct using LLVM?
在我的C++实现中,我的模块外面有这个结构:
struct A {
int a;
};
我如何创建这个接受 A 指针并更改它的函数? 比如:
define void @func(%struct.A*) {
%2 = alloca %struct.A*, align 8
store %struct.A* %0, %struct.A** %2, align 8
...
}
还是不可能?我需要在我的模块中创建一个结构并更新外部结构?
是的,类型声明应该存在于使用它们的每个模块中。C++也是如此 - 如果您没有在源或任何包含中声明struct A
,则不能使用它。
但是,您似乎在代码中对指向该结构的指针进行操作。AFAIK,在这种情况下,声明一个空结构并使用指向该结构的指针是安全的。
相关文章:
- 在结构外部调用指向函数的指针
- C++ 在外部使用嵌套结构实现类函数
- C - 外部结构
- CERN 根:为命名空间中的外部"C"结构生成流处理器
- 从不同的标头访问外部结构成员
- 如何将值从外部传递到结构函数
- 结构外部的重载运算符
- 如何使结构内部的可变参数模板可以在外部访问?
- 是否可以定义一个在外部"C"块中继承另一个结构的结构?
- 如何使用LLVM访问外部结构?
- 用于存储数据的结构和外部二进制文件
- C++中的结构数组和外部文件
- 从外部函数访问外部结构属性
- LNK 2001 未解析的外部在 NPPluginFuncs 结构 ptr 作为静态类成员
- 命名空间外部变量的未定义参考/多重定义,C 结构问题
- 模板结构外部的重载运算符
- 用相同的数据c++包装/铸造类和结构,以实现外部api
- 错误 LNK2019:函数"private: 结构_DISPLAY_DEVICEA __thiscall"中引用未解析的外部符号__imp__EnumDisplayDevicesA@16
- 外部C结构的C++默认复制/移动赋值运算符不是常量
- 是否可以在结构外部编写自动转换运算符