第三方库是如何做到跨平台的

跨平台的库一直被视为减轻程序员工作负担的一大利器。那么这些程序是怎么样做到跨平台的呢。这里我分析了SDL2和Catch2的源码,发现了编写的方法。

首先需要注意的是:以下说的方法都只在GUNC编译器下编译,其他编译器不知道能不能通过

……

全局变量static的意义,以及extern关键字

全局的static

我们都知道static变量的用法:函数里面代表在函数结束的时候不销毁变量,类里面代表这个变量或者方法属于整个类。那么对于全局的static变量来说这意味着什么呢?

……

Python3-Pickle库

这个库比较牛逼,他可以将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,用户自己声明的类对象,内置函数声明都可以被保存。

……

Python3操纵压缩文件

tarfile库 tarfile库用于控制tar命令压缩的压缩文件,这里来看一下有哪些值得学习的函数:……

pymysql库的使用

pymysql是专门为了操控mysql而产生的库,属于外部库,需要安装: 1 pip3 install pymysql 假设我们现在有这样一……

OpenGL-关于创建窗口的解释

我们首先需要明白,OpenGL这个玩意只管一件事,就是画图,除了画图之外这玩意什么都不管。包括创建窗口,事件响应,甚至包括图像的旋转和平移什么的都不会去管,他只会画图。 那么问题就来了,我们Hello world里面的窗口是哪里来的呢?

……

OpenGL-关于VAO,VBO的解释

我在看教程的时候很迷,不知道VBO和VAO有什么用,为什么搞得那么复杂,我这里就来详细的说一下他们两个的工作。

……

SDL2-鼠标操作和光标生成

鼠标和光标操作

SDL2里面专门有SDL_mouse.h头文件给出了鼠标和光标的操作。


关于光标的操作 SDL2里面提供了很多关于光标的操作,包括创建光标,显示光标等。

……