摘要:
四、优化调整1、优化过大场景2、利用相机剔除或关卡流等方式优化场景的运行3、优化灯光光照图、着色器表达式的简化来获得最佳表现4、程序的编写 阅读全文
摘要:
gcc的编译流程分为四个步骤,分别为:预处理(Pre-Processing)编译(Compiling)汇编(Assembling)链接(Linking) 以hello.c为例子,在这四个步骤中可以设置选项分别生成hello.i, hello.s, hello.o以及最终的hello文件: he... 阅读全文
摘要:
[参数详解]-c 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件 例子用法: gcc -c hello.c 他将生成.o的obj文件-S 只激活预处理和编译,就是指把文件编译成为汇编代码。 例子用法 gcc -S hello.c 他将生成.s的汇编代码,你可以用文本编辑器... 阅读全文
摘要:
#define A B C 如果使用A将会替换成B C,使用A B会得到B C B#define A (B C)如果使用A将会替换成(B C)注意上面加括号与不加是完全不同的,特别是在定义函数和函数指针的时候。下面例子:#defineBASSDEF(f)(WINAPI*f)// define the... 阅读全文
摘要:
#define LOADBASSFUNCTION (f) *((void **)&f)=(void*)GetProcAddress (hBass,# f)这一句话使用*((void**)&f)的原因在于,转化目标为左值(即转化f为void*类型(*)的函数指针)。注意这里的(void**)强制类型转... 阅读全文
摘要:
在使用面向对象的思想进行系统设计时,前人共总结出了7条原则,它们分别是:单一职责原则、开闭原则、里氏替换原则、依赖注入原则、接口分离原则、迪米特原则和优先使用组合而不是继承原则。1.单一职责原则(SRP) 单一职责原则的核心思想就是:系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就... 阅读全文
摘要:
必须注意:对齐是多少字节对齐,不是多少位对齐。对齐原因:如上图片,内存一般是四个单位一列,CPU在读取内存数据的时候,通过总线并行读取每个单位的数据。对于CPU 32bit的寄存器而言。0-7bit是来自于内存芯片0的位8-15bit是来自内存芯片1的位16-23bit是来自芯片224-31来自芯片... 阅读全文
摘要:
POD(Plain Old Data)概念:Arithmetic types (3.9.1), enumeration types, pointer types, and pointer to member types (3.9.2), and cv-qualified(注2) versions o... 阅读全文
摘要:
首先要注意:do..while(0)代表do里面的东西至少被执行一次,在这里仅仅执行一次。此种用法有三个用处:代替{}代码块,实现局部作用域。在某些宏定义时非常有用:#define f(x) do {\ some_code; some_code;} while(0)(while(0)... 阅读全文
摘要:
问题:在网上看人写了这么一段代码: 1 class A 2 { 3 public: 4 A() 5 { 6 std::cout #include "A.h" 29 30 void* operator new[](size_t size) ... 阅读全文
摘要:
精髓:operator new()完成的操作一般只是分配内存;而构造函数的调用(如果需要)是在new运算符中完成的。operator new和new 运算符是不同的,operator new只分配内存,而只要new出现无论是不是operator new都会调用new运算符从而调用析构函数。例子是:#... 阅读全文