
C++
CJ_Geek
这个作者很懒,什么都没留下…
展开
-
JNI-开发注意细节点
局部引用问题1.一个局部引用仅在创建它的native函数及该函数调用的函数中有效。在一个native函数执行期间创建的所有局部引用将在该函数返回时被释放。2.千万不要写一个native函数来保存一个局部引用在静态变量或全局变量中并期望在以后的函数调用中使用。// instance是一个局部引用,不能使用1中的方式进行赋值。当该函数返回后,将释放// 包含在this->instance...原创 2020-01-10 11:28:14 · 259 阅读 · 0 评论 -
Android.mk介绍
1.简介1.Android.mk是一个向Android NDK构建系统描述NDK项目的GNU makefile片段。主要用来编译生成一下几种: 1.APK程序:一般的Android应用程序,系统级别的直接push即可。 2.JAVA库:JAVA类库,编译打包生成jar文件。 3.C\C++应用程序:可执行的C\C++应用程序。 4.C\C++静态库:编译生成C\C++静态库,并打包成.a.........原创 2019-11-28 11:23:00 · 936 阅读 · 0 评论 -
makefile初识
1.定义1.makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要重新编译,如何进行链接等操作。2.makefile就是自动化编译,告诉make命令如何编译和链接。2.makefile规则1.target:目标文件。可以是objectfile,也可以是执行文件,还可以是标签文件2.prerequisites: 依赖文件,即要生成那个target所需要的文件或其他ta...原创 2019-11-27 21:33:08 · 238 阅读 · 0 评论 -
C++静态库与动态库
1.静态库1.静态库实际上就是一些目标文件(一般以.o结尾)的集合,静态库一般以.a结尾,只用于生成可执行文件阶段。2.在链接步骤中,链接器将从库文件取得所需代码,复制到生成的可执行文件中。这种库称为静态库。其特点是可执行文件中包含了库代码的一份完整拷贝,在编译过程中被载入程序中。缺点就是多次使用就会有多份拷贝,并且对程序的更新、部署和发布会带来麻烦,如果静态库有更新,那么所有使用它的程序.....................原创 2019-11-27 15:47:10 · 234 阅读 · 0 评论 -
C++编译流程
编译流程:1. 预处理 1. 完成宏替换、文件引入、以及去除空行、注释等,为下一步的编译做准备。 2. 对各种预处理命令进行处理,包含头文件的包含、宏定义的扩展、条件编译的选择等。 命令:`gcc -E test.c -o test.i ` -E是让gcc在预处理结束后停止编译,test.c为源代码文件,test.i为预处理后输出的文件2. 编译1. 讲预处理后的代码编译成汇编代...原创 2019-11-26 22:01:58 · 492 阅读 · 1 评论 -
C++容器
序列式容器元素排列顺序与元素本身无关,由添加顺序决定vector list dequeue queue stack priority queue vector<int> vec_1; // 声明有一个元素的空间 vector<int> vec_2(1); // 6个元素,值都是1 vector<int> vec_3(6, ......原创 2019-11-25 22:30:27 · 113 阅读 · 0 评论 -
C++虚函数、纯虚函数、引用与指针区别
class Parent {private: int i;public: void show();};void Parent::show() { cout<< "parent" << endl;}class Child : public Parent{private: int i;public: void show...原创 2019-11-25 21:29:52 · 133 阅读 · 0 评论 -
C+ 类 常量函数、友元函数、单例
常量函数 表示不允许修改类中的成员int i,j //类中的成员void Student::set(int j) const { this->j = j; // 错误 cout<<i<<endl; // 正确}友元函数在定义一个类的时候,可以把一些函数(包括全局函数和其他类的成员函数)声明为“友元”或一些类声明为友元,这样这些函数就成...原创 2019-11-24 00:15:06 · 208 阅读 · 0 评论