是什么意思glEnableClientState
,并glDisableClientState
在OpenGL?到目前为止,我发现这些功能是启用或禁用某些客户端功能.
那么,客户端或服务器到底是什么?我正在PC上运行我的OpenGL程序,所以这是指什么?为什么我们甚至需要禁用某些功能?...更有趣的是关于某种与数组相关的东西?
对我来说,整个画面非常灰暗.
假设我正在使用现代版本GCC
来编译C程序.此外,考虑到我的程序包含陈旧的分支,但我非常喜欢那些陈旧的分支中的死代码被编译并出现在最终的程序中.考虑以下程序:
int main(int argc, char** argv) {
int a = 0;
goto skip;
a = -1;
skip: ;
return a;
}
Run Code Online (Sandbox Code Playgroud)
显然,如果我使用GCC
默认优化设置,第二个赋值将永远不会进入最终程序,因为编译器可以很容易地告诉它永远不会被执行.假设我不希望这种情况发生.
在GCC
,有许多标志涉及死代码(最值得注意的是-fdce
),我可以选择在相应地调用GCC时显式停用它们:
-fno-dce
-fno-dse
-fno-tree-dce
-fno-tree-dse
Run Code Online (Sandbox Code Playgroud)
据我所知,这应该指示GCC
不要弄乱第二项任务.然而,相关的代码似乎永远不会进入我的程序.
为什么GCC
坚持要删除死代码,有没有办法指示GCC 不要去掉第二个任务?
当谈到 ELF 时,两种附带的调试格式非常受其他人欢迎,即STAB 和 DWARF。我想要一种简单的方法来确定给定的二进制文件是否包含一种形式或另一种形式的调试信息,最好不需要检查节名称(.stab 等)。
实现这一目标的好方法是什么?