有没有办法扩大共享对象中函数的符号范围?
我正在移植一个使用 glDrawTexiOES 的 OpenGL ES 1.x 示例,该示例是在为我正在使用的板提供的 OpenGL ES 库中定义的,但被定义为本地符号,因此当我编译时 &链接示例,它给了我一个 undefined reference 。
最佳答案
不幸的是,由于自动变量放置在内存中,因此这是不可能的。 (它们并不驻留在稳定、永久的内存位置。)您唯一能做的就是分配一个全局变量,并在某个适当的时候将局部变量复制到全局变量中。但在这种情况下,您可能只使用全局变量。
不存在变量“成为全局变量”的特定时间点。全局变量必须在加载时为程序所知,并且在程序的整个生命周期中都存在。
关于c++ - 让本地符号走向全局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527014/