我是编程的新手,我尝试使用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 ?