我正在用OpenGL编写程序,我想直接将着色器文件编译为可执行文件,因此用户无法在不知道自己正在做什么的情况下破坏程序(通过删除着色器文件或对其进行编辑)。
我使用以下命令将着色器编译为目标文件:
ld -r -b binary -o basic_shader.o res/shaders/Basic.gl
我得到了这些符号:
SYMBOL TABLE:
0000000000000000 l d .data 0000000000000000 .data
00000000000000e5 g *ABS* 0000000000000000 _binary_res_shaders_Basic_gl_size
00000000000000e5 g .data 0000000000000000 _binary_res_shaders_Basic_gl_end
0000000000000000 g .data 0000000000000000 _binary_res_shaders_Basic_gl_start
我已经创建了一个用于管理着色器的类。但是构造函数应该作为着色器文件路径的参数来打开并读取。
那么可以逐行读取符号_binary_res_shaders_Basic_gl_start
(这是char[]
)吗?