一般情况下,一个lib或者dll的c库的初始化,都是调用一个xx_initialize函数。
我想这个过程肯定涉及到某些数据。
但是像是glfw之类的库,它的初始化函数里面没有任何参数。
那它初始化之后内部的数据怎么存放的,是直接使用全局变量吗?
好像和不提倡使用全局变量的原则不符合。
“大多数书里不推荐使用全局变量”应该是指大多数教程类书籍,对于初学者来说,全局变量是很容易用错的一个地方,所以教程类书籍不推荐使用全局变量。但是不能因此就完全禁止全局变量的使用,在正确使用的情况下,全局变量能够有效的降低开发的复杂度。
而且 C 与 C++ 在全局变量上的处理也是不同的。C++ 引入了“类”这个封装机制,从而减少了全局变量的使用,而 C 中缺乏类似的机制,所以在 C 中仍然会看到很多使用全局变量保存状态的例子。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。