c语言
yuezheyue123
这个作者很懒,什么都没留下…
展开
-
c学习1
基本的数据类型int short long float double char%d int short %ld long%f float%lf double%c char 十六进制 %x八进制 %o字符串 %ssizeof(int) 获取到类型占的字符getchar() 和system("pause")都是等待输出宏定义scan...原创 2019-01-03 17:13:28 · 116 阅读 · 0 评论 -
c学习2
指针有类型 但是地址没有类型因为他们在读取的时候在栈中有相应的位置。 int *p=NULL这时候不能直接读取*p的值,因为这是系统的地址 //多级指针不能直接通过定义变量的形式存放指针然后获取其中的数值,因为*必须作用于指针类型void main(){ int i=23; int *p=&i; int **q=&...原创 2019-01-03 17:28:02 · 222 阅读 · 0 评论 -
c学习3
动态内存分配windows中 栈内存分配2M 超出后,提示stack overflow 堆 手动的分配释放,操作系统80%内存堆内存,分配开辟40M内存 这里返回的是任意类型的指针,可以根据存储的类型来确定指针的类型。int *p=malloc(1024*1024*10*sizeof(int))通过free(p)来释放 栈内存自动释放 动态的创建数组...原创 2019-01-03 18:09:37 · 134 阅读 · 0 评论 -
c学习4
p->xx (箭头) 是(*p).xx的简写的形式 结构体的数组struct Man mans[]={{"xxx",23},{"rose",19}};两种遍历结构体的方式结构体的大小 字节对齐 比如有个变量int和double类型,本应该是12字节 但是实际上分配的是2*8=16字节 开辟内存struct Man *p=(struct Man*)malloc(si...原创 2019-01-03 18:31:59 · 111 阅读 · 0 评论 -
JNI学习
1.比如是一个AsesetManager类private native final void init();对应的c语言:static void android_content_AssetManager_init(JNIEnv* env,jobject jobject)那么JNIEnv对象,是一个java虚拟机(JVM),通过它就能访问JVM中的各种对象。jobject是该函数的对...原创 2019-01-07 16:29:54 · 137 阅读 · 0 评论 -
最新Android-JNI学习(一)-创建.so文件
根据前面学习的c学习的基础知识,在as下,进行手动的ndk开发 1.在java类中先写native方法,并且加载将将要生成的c或c++的文件的名称 2.在terminal的命令行中输入命令生成头文件 javah -d ../jni com.xxx.xxx 。其中-d是生成文件夹的意思 3.在生成的jni,右键创建c或c++代码。 4.由于as现在支持cmake的构建nd...原创 2018-07-13 11:10:21 · 337 阅读 · 0 评论 -
最新Android-JNI学习(二)-使用.so文件
一、将在上篇文章中获取到so文件复制到当前的工程中,存放的位置有两种办法 1.将文件复制到libs文件夹下 然后在gradle中android下添加 sourceSets { main { jniLibs.srcDirs = [‘libs’] } }2.创建jnilibs文件夹,然后将文件复制进去 二、在当前的工程中,使用so文件。 s...原创 2018-07-13 11:12:36 · 285 阅读 · 0 评论