第三方库是如何做到跨平台的
跨平台的库一直被视为减轻程序员工作负担的一大利器。那么这些程序是怎么样做到跨平台的呢。这里我分析了SDL2和Catch2的源码,发现了编写的方法。
首先需要注意的是:以下说的方法都只在GUNC编译器下编译,其他编译器不知道能不能通过。
……跨平台的库一直被视为减轻程序员工作负担的一大利器。那么这些程序是怎么样做到跨平台的呢。这里我分析了SDL2和Catch2的源码,发现了编写的方法。
首先需要注意的是:以下说的方法都只在GUNC编译器下编译,其他编译器不知道能不能通过。
……我们都知道static变量的用法:函数里面代表在函数结束的时候不销毁变量,类里面代表这个变量或者方法属于整个类。那么对于全局的static变量来说这意味着什么呢?
……cmake基础语法汇总
……这个库比较牛逼,他可以将python里面的对象或者内置类型保存为文件以便下一次使用。 具体可以保存什么对象呢,官方文档是这么写的:
- None, True, and False
- integers, floating point numbers, complex numbers
- strings, bytes, bytearrays
- tuples, lists, sets, and dictionaries containing only picklable objects
- functions defined at the top level of a module (using def, not lambda)
- built-in functions defined at the top level of a module
- classes that are defined at the top level of a module
- instances of such classes whose dict or the result of calling getstate() is picklable (see section Pickling Class Instances for details).
也就是None,True,False,所有的内置数据类型和list,tuple,dict,用户自己声明的类对象,内置函数声明都可以被保存。
……OpenGL中有很多的库,我们今天来说一下这些库的区别。
……我们首先需要明白,OpenGL这个玩意只管一件事,就是画图,除了画图之外这玩意什么都不管。包括创建窗口,事件响应,甚至包括图像的旋转和平移什么的都不会去管,他只会画图。 那么问题就来了,我们Hello world里面的窗口是哪里来的呢?
……我在看教程的时候很迷,不知道VBO和VAO有什么用,为什么搞得那么复杂,我这里就来详细的说一下他们两个的工作。
……SDL2里面专门有SDL_mouse.h头文件给出了鼠标和光标的操作。
关于光标的操作 SDL2里面提供了很多关于光标的操作,包括创建光标,显示光标等。
……