#pragma comment。将一个注释记录放置到对象文件或可执行文件中。 #pragma pack。用来改变编译器的字节对齐方式。 #pragma code_seg。它能够设置程序中的函数在obj文件中所在的代码段。如果未指定参数,函数将放置在默认代码段.text中 #pragma once。保证所在文件只会被包含一次,它是基于磁盘文件的,而#ifndef则是基于宏的。 文件指针指向的是一块内存区域,这块区域存储着打开的文件的相关信息,包括文件读取指针当前位置、文件读取缓冲区大小等信息,并不是指向文件的。fsc…

2018年1月11日 0条评论 1800点热度 0人点赞 icebmji 阅读全文

在计算机科学中, 调用约定是一种定义子过程从调用处接受参数以及返回结果的方法的约定。不同调用约定的区别在于: 参数和返回值放置的位置(在寄存器中;在调用栈中;两者混合) 参数传递的顺序(或者单个参数不同部分的顺序) 调用前设置和调用后清理的工作,在调用者和被调用者之间如何分配 被调用者可以直接使用哪一个寄存器有时也包括在内。(否则的话被当成ABI的细节) 哪一个寄存器被当作volatile的或者非volatile的,并且如果是volatile的,不需要被调用者恢复 _cdcel是C/C++默认的函数调用约定 函数实…

2018年1月10日 0条评论 3219点热度 0人点赞 icebmji 阅读全文

GLShaderManager类定义在GLShaderManager.h头文件中 使用GLShaderManager前必须对其进行初始化shaderManager.InitializeStockShaders() GLShaderManager有8种着色器模式 1. 单位着色器 简单使用笛卡尔坐标系,所有坐标范围都是-1.0到1.0。所有片段用同一种颜色。几何图形是实心的、未渲染的。 函数原型:GLShaderManager::UseStockShader(GLT_SHADER_IDENTITY,GLfloat v…

2018年1月9日 0条评论 3181点热度 0人点赞 icebmji 阅读全文

[toc] 转载地址:http://www.runoob.com/cplusplus/cpp-storage-classes.html C++ 存储类 存储类定义 C++ 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C++ 程序中可用的存储类: auto register static extern mutable thread_local (C++11) 从 C++ 11 开始,auto 关键字不再是 C++ 存储类说明符,且 register 关键字被弃用。 au…

2018年1月4日 0条评论 2861点热度 0人点赞 icebmji 阅读全文

重载 在同一个作用域内 函数名相同 参数不同,可以是数量或类型 其他因素:  virtual、static不影响重载 返回值类型不同不影响重载 部分函数类型限定符,如写在成员函数参数列表后的const,影响重载 示例: class A { public: void f(int) {} void f(float) {} void f(int) const {} void f(int, int) {} //int f(int){} //virtual void f(int) {} }; 覆盖 不在同一作用域,即分别位于…

2018年1月3日 0条评论 3041点热度 0人点赞 icebmji 阅读全文

预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理。所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前。预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾。 预处理一般过程: 宏定义处理 #define 条件编译 #if 头文件包含 #include 其它,如:#pragma  #line #error等 在编译器加参数"/P",预处理将会将宏替换后的源代码输出到一个".i"文件中,不会在生成".obj"

2018年1月3日 0条评论 2139点热度 0人点赞 icebmji 阅读全文

(机翻,转载自:Article - World, View and Projection Transformation Matrices) 介绍 在本文中,我们将尝试详细了解任何3D引擎的核心机制,即矩阵变换链,它允许在2D监视器上表示3D对象。我们将尝试进入矩阵如何构建的细节以及为什么,所以这篇文章不是绝对的初学者。 我将假设向量数学和矩阵数学的一般知识。 我们先来谈谈转换和向量空间之间的关系。然后我们将展示如何以矩阵形式表示变换。从那里,我们将展示您将需要应用的典型的转换顺序,从  模型  到  世界空间,然后…

2017年12月14日 0条评论 4185点热度 0人点赞 icebmji 阅读全文

UNIX标准及实现 UNIX标准化 ANSI:美国国家标准学会,它是ISO:国际标准化组织中代表美国的成员IEC是国际电子技术委员会 ISO C标准意图提供C程序的可移植性,此标准定义了C语言的语法和语义,还定义了标准库,所有的UNIX系统都提供C标准中定义的库函数 ISO C库分为24个区,POSIX标准还有其他的头文件 POSIX:可移植操作系统接口,最初由IEEE:电气和电子工程师学会制定的标准族,POSIX中包含了ISO C中定义的标准库。POSIX分为必需和可选部分 SUS:单一UNIX规范,是POSIX…

2017年12月11日 0条评论 2894点热度 0人点赞 icebmji 阅读全文

UNIX基础知识 UNIX体系结构图 登录 /etc/passwd结构:登录名:加密口令:用户ID:组ID:注释字段:开始目录:shell(共7个字段) shell是一个命令行解释器,读取用户输入,执行命令 文件目录  ls命令简易实现,第4章具体研究 opendir打开目录返回DIR类型指针 readdir获取DIR类型指针,返回dirent类型指针,dirent结构体中有d_name为目录项名字 closedir关闭opendir打开目录返回的DIR 上面几个函数包含在<dirent.h>中 输入输…

2017年12月10日 0条评论 3494点热度 0人点赞 icebmji 阅读全文

C++new操作符带不带括号区别 https://www.zhihu.com/question/35843839 类的空指针的成员函数调用 #include using namespace std; class A{ public: void test() { printf("test A"); } }; int main(){ A* pA = NULL; pA->test(); return 0; } 上面的程序是合法的,C++在编译期间,就找到了pA的函数,发现test非虚函数,并且在其中没有对this指…

2017年12月8日 0条评论 3071点热度 0人点赞 icebmji 阅读全文