我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。
交叉编译
交叉编译就是程序的编译环境和实际运行环境不一致,即在一个平台上生成另一个平台上的可执行代码。
比如NDK,你在Mac、Win或者Linux上生成的C/C++的代码要在Android平台上运行,就需要使用到交叉编译了。
通俗点说就是你的电脑和手机使用的CPU不同,所以CPU的指令集就不同,比如arm的指令集在X86上就不能运行。
常用的编译工具链
gcc
GNU C编译器。原本只能处理C语言,很快扩展,变得可处理C++。(GNU计划,又称革奴计划。目标是创建一套完全自由的操作系统)
Android在之后彻底移除了gcc,默认使用clang编译,所以使用不同版本的ndk对ffmpeg进行交叉编译时会出现同样的脚本在旧版的ndk能编译通过,但是旧版的就不编译不通过的问题。
笔者会在后面的学习过程中使用最新的ndk对最新版的ffmpeg进行交叉编译,并且会通过文章记录学习过程,感兴趣的同学可以持续关注。
g++
GNU c++编译器
gcc和g++都能够编译c/c++,但是编译时候行为不同。
对于gcc与g++会有以下区别:
后缀为.c的源文件,gcc把它当作是C程序&