1.NDK开发为什么使用Visual Studio
vs方便在电脑中调试,实时看到代码的执行效果,而且和Android studio的环境非常相似,便于移植。一般在visual studio中调试好代码,再导入到Android studio中执行。
2.使用vs怎么创建项目
vs只要是Windows的都可以开发,包括移动和WEB 都可以开发。开发NDK使用社区版,对开发者免费。配置NDK开发需要下载C++的linux开发和Windows版的C++的桌面开发。新建项目选择CMAKE工程,目录外面相当于是工程,里面是model。CMAKELISTS.txt 相当于是build.gradle。运行项目需要先把目录切换到.cpp文件目录,然后点击运行按钮。注:CMAKELISTS.txt文件中不能包含分号。
3.函数
在C语言中,函数为基础,是由函数组成的可执行文件。代码是从上向下执行的,main函数调用的函数必须在main函数的上面或者使用头文件。而在Java中,是面向对象的,会将整个class文件都加载到内存中。头文件相当于接口,只有函数的声明没有实现,用来解决函数的耦合问题。指针函数也是函数,返回类型是某一类型的指针 。eg:void* ap(int a,int b){}。 函数指针是变量,eg:定义 void (*ap)(int a;int b); 赋值ap=ab(函数名称);调用ap(a,b)(此时才调用函数ab)。通过指针,C语言的可以在被调用函数中修改调用函数的变量。eg:调用函数int m=1;a(&m);被调用函数void b(int* m){*m=10;}。
4.内存
硬件角度:内存是计算机的重要组成部分,是与cpu沟通的桥梁,所有程序都是运行在内存中。内存分配规则是连续的。
逻辑角度:内存是一块支持随机访问能力,支持读写操作,能存放程序和程序运行中产生的数据的区域。
在C语言中的数据类型,int4,short2,long4,double8,char1,引用数据类型。
C语言中内存组成,运行时系统分配内存:堆栈;编译时系统分配内存:BSS段(存放全局成员变量,在编译的时候无法确定大小),数据段,代码段(转化成汇编语言,保存的是指令)。
内存在程序执行过程中,特别是结构体和对