NDK开发之C语言基础

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段(存放全局成员变量,在编译的时候无法确定大小),数据段,代码段(转化成汇编语言,保存的是指令)。

内存在程序执行过程中,特别是结构体和对

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android NDK开发是指利用NDK(Native Development Kit)将C/C++开发的代码编译成so库,然后通过JNI(Java Native Interface)让Java程序调用。在Android开发中,默认使用的是Android SDK进行Java语言的开发,而对于一些需要使用C/C++的高性能计算、底层操作或跨平台需求的场景,可以使用NDK进行开发。 在Android Studio中进行NDK开发相对于Eclipse来说更加方便,特别是在Android Studio 3.0及以上版本中,配置更加简化,并引入了CMake等工具,使得开发更加便捷。首先要进行NDK开发,需要配置环境,包括导入NDK、LLDB和CMake等工具。可以通过打开Android Studio的SDK Manager,选择SDK Tools,在其中选中相应的工具进行导入。 在项目的build.gradle文件中,可以配置一些NDK相关的参数,例如编译版本、ABI过滤器等。其中,可以通过externalNativeBuild配置CMake的相关设置,包括CMakeLists.txt文件的路径和版本号。此外,在sourceSets.main中还可以设置jniLibs.srcDirs,指定so库的位置。 在进行NDK开发时,可以在jni文件夹中编写C/C++代码,并通过JNI调用相关的函数。通过JNI接口,可以实现Java与C/C++之间的相互调用,从而实现跨语言的开发。 综上所述,Android NDK开发是指利用NDK将C/C++开发的代码编译成so库,并通过JNI实现与Java的相互调用。在Android Studio中进行NDK开发相对方便,可以通过配置环境和相应的参数来进行开发。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值