unity调用c++dll时变量处理问题

在C++中为了处理方便可以将有些局部变量变为全局变量。

以下面三个变量为例 

unity调用c++dll时变量处理问题_第1张图片

如果还有新全局变量需要这其来赋值,就会有问题。

如下面的body1_ptr为了dll生成处理方便,变为全局变量后,这个指针变赋值就会有问题。

 因为geometry_path这个只在调用函数时处理,这样全局变量body1_ptr中的geometry_path永远为空。

unity调用c++dll时变量处理问题_第2张图片

可以将指针重新用有geometry_path的申请一次,然后让新指针变量指向这人即可

unity调用c++dll时变量处理问题_第3张图片

 

Unity中调用的顺序为

unity调用c++dll时变量处理问题_第4张图片

 我觉得是变量编译完后,只有函数中去修改才会变,而这时因为将其转变为了全局变量在函数中没修改,所以之前会出问题。

你可能感兴趣的:(C/C++/QT,unity,c++,开发语言)