sunwengang blog

sunwengang blog

it's better to burn out than to fade away

C++双冒号、点号、箭头的区别
箭头->和点号.声明一个结构: 123struct mystruct { int age;}; 如果有个结构变量a,访问成员元素的方法:a.age = 1; 如果采用指针方法访问,则必须用箭头访问元素,比如: 12mystruct *ps;ps->age = 1; 指针对象当定义类对象是指针对象的时候,需要用到->指向类中的成员;当定义一般对象的时候,使用:单冒号指向类中的成员。 12345678910class A { public: play();}A *p;p->play(); //左边...
Android中的makefile(Android.mk)
makefile是和make命令一起使用,在Android中,可以使用mm、mmm、mma进行编译。Makefile可以组织项目中各种库和代码之间的依赖,构建项目,和maven、gradle一样属于构建工具。常用于大型项目。 基本语法变量定义=或者:=123OBJS = programA.o//或者OBJS := programA.o 两者区别在于:=只能使用前面定义好的变量,=可以使用后面定义的变量。 变量值追加+=12SRCS := programB.cSRCS += programC.c makefile在Android中的运用 name note LOCAL_P...
C++内联函数、引用变量、函数重载、函数模板
内联函数 常规函数调用使程序跳到另一个地址(函数的地址),并在函数结束后返回。来回跳跃并记录跳跃位置意味着一定的开销。内联函数使得编译器将相应的函数代码替换函数调用。程序无需跳到另一个位置处执行代码,再调回来。因而,内联函数运行速度比常规函数快,但是代价是需要占用更多的内存。如果程序在10个不同的地方调用调用同一个内联函数,则该程序将包含该函数代码的10个副本。 使用内联函数: 在函数声明前加上关键字inline 在函数定义前加上关键字inline 通常的做法是省略原型,将整个定义(即函数头和所有函数代码)放在本应提供原型的地方。 示例代码: inline.cpp 12345678...
C++函数模块(函数指针、递归)
本章节主要是围绕函数为圆心,涉及到字符串、指针、C++11特性auto、typedef。由于接触android源码、opengl,需将C++学习一遍,之前只是用过java、c、c#这些。涉及到android源码,例如frameworks/native的surfaceflinger,gui,ui, 以及vender,hardware都是需要仔细的阅读C++代码才能够理解。再如graphics的测量、绘制渲染、硬件加速、合成显示,私以为学习一些图形学是有必要的。人生在勤,不索何获。 函数function 是否有返回值(void) main()函数 函数原型,diybke vikyne =...
ubuntu搭建opengl环境
安装1234sudo apt-get install build-essentialsudo apt-get install libgl1-mesa-devsudo apt-get install libglu1-mesa-devsudo apt-get install freeglut3-dev 安装完成后,库文件: 123456789wizzie@wizzie:/usr/lib/x86_64-linux-gnu|⇒ ls -tl lib[gG][lL]*.solrwxrwxrwx 1 root root 22 5月 10 20:17 libGLdispatch.so ->...
C++循环语句for, while, do-while
for循环12for (int i = 5; i < 0; i--) cout << "i=" << i <<endl; 阶乘运算: formore.cpp 12345678910111213141516#include<iostream>using namespace std;const int SIZE = 16;int main() { long long factorials[SIZE]; factorials[1] = factorials[0] = 1LL; for (int i = 2; i < ...
C++内存分配方式和模板类vector, array
使用new创建动态结构 在运行时创建数组优于编译时创建数组,对于结构也是如此。需要在程序运行时为结构分配所需的空间,可以使用new完成。动态意味着内存是在运行时,而不是编译时分配的。例如inflatable *ps = new inflatable;其中inflatable是一个结构类型。这句代码将把存储结构inflatable的一块可用内存的地址赋值给ps。箭头成员运算符->,可用于指向结构的指针。例如ps指向一个inflatable结构的成员price,即ps->price Note: 如果结构标识符是结构名,则使用句点运算符 如果标识符是指向结构的指针,则使用箭...
C++复合类型之枚举、指针
枚举enum C++的enum工具提供了另一种创建符号常量的方式,可以代替const。它还允许定义新的类型,但是必须严格按照格式。使用enum语法格式和结构相似,例如 enum colorInfo{red, blue, orange}; colorInfo是新类型的名称;colorInfo被成为枚举 red,blue,orange是符号常量,对应整型树脂0,1,2,这些常量叫做枚举量 默认情况下,将整型数值赋给枚举量,从0开始以此类推 声明 使用枚举名来声明这种枚举的变量:colorInfo band; 赋值 只能使用定义枚举量赋值给枚举的变量: 1234567...
avatar
wizzie
focus on android graphics