如何访问从C 编译的动态库中定义的全局变量
How to access the global variable defined in compiled dynamic library from c++
我是编程的新手,我尝试使用python访问C 中编译的动态库中定义的全局变量。
int acc;
void Cassie2d::Step(ControllerTorque* action)
{
dyn_model_.setState(mj_data_->qpos, mj_data_->qvel);
dyn_state_.UpdateDynamicState(&dyn_model_);
mju_copy(mj_data_->ctrl, action->torques, nU);
mj_step(mj_model_, mj_data_);
acc = mj_data_->qacc;
Render();
}
上面的代码是C 代码,我定义了一个全局变量(INT ACC)以访问MJ Data QACC,一旦我编译了整个C 代码并形成一个.so库,我就尝试在Python中使用变量ACC但是,代码不存在ACC,有人可以告诉我问题是吗?
或有什么好方法可以定义全局变量,其中Python代码可以访问库并找到全局变量?
通常,当您想在C/C 项目中共享各个文件的全局变量时,您在声明中添加关键字extern
,以便将变量的可见性扩展到该变量您正在开发的整个程序。
extern int acc;
对于从Python访问C 库及其变量的涉及的内容,也许此链接可能有助于从Python致电C/C ?
相关文章:
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 当vector是tje全局变量时,c++中vector的内存管理
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 内联函数中具有内部链接的全局变量
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 全局变量 多读取器 一个写入器多线程安全?
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- 不同作用域中的静态变量和全局变量
- C++ 在编译时具有函数计算全局变量
- 修改程序的入口点时未调用全局变量的构造函数
- 使用 std::ios_base::Init 正确初始化全局变量
- 为什么我的全局变量似乎没有变化?
- C ++程序如何返回我的数组或写入全局变量
- 保证非 odr 使用的全局变量的延迟动态初始化
- 如何访问从C 编译的动态库中定义的全局变量
- C++中的全局动态Allcoated变量
- 动态链接共享库中的全局变量和静态变量会发生什么情况
- 动态内存与全局变量相当吗
- 在Linux上,静态变量和全局变量在动态库和静态库中显示不同的地址
- 在C++中实现全局变量和静态成员变量的动态初始化