c++ - 让本地符号走向全局

标签 c++ opengl-es linker g++

有没有办法扩大共享对象中函数的符号范围?

我正在移植一个使用 glDrawTexiOES 的 OpenGL ES 1.x 示例,该示例是在为我正在使用的板提供的 OpenGL ES 库中定义的,但被定义为本地符号,因此当我编译时 &链接示例,它给了我一个 undefined reference 。

最佳答案

不幸的是,由于自动变量放置在内存中,因此这是不可能的。 (它们并不驻留在稳定、永久的内存位置。)您唯一能做的就是分配一个全局变量,并在某个适当的时候将局部变量复制到全局变量中。但在这种情况下,您可能只使用全局变量。

不存在变量“成为全局变量”的特定时间点。全局变量必须在加载时为程序所知,并且在程序的整个生命周期中都存在。

关于c++ - 让本地符号走向全局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527014/

相关文章:

c++ - 重载预增量运算符未显示正确结果

iphone - iPhone OpenGL ES 工具中的 Tiler Utilization 统计数据意味着什么?

c - 如何识别哪个文件隐式依赖于与库的链接?

build - 改进 Rust 二进制构建时间

c++ - 多个成员函数前向声明

c++ - 错误 : strcpy was not declared in this scope

C# + GL 控制混合背景与窗体

c++ - 静态链接 boost program_options

c++ - 迁移到 SVN,对删除旧文件感到困惑

iphone - 如何将我的 3ds Max 模型放入 iPhone 3D 游戏中?