如何做各大网站广告链接,建设营销型网站的目的,接入商网站备案,安达网站制作Android C 程序开发现状 在 Android 下开发 C 程序#xff0c;我见过绝大多数人都是不使用任何语法插件#xff0c;就靠硬写#xff0c;写完之后再根据编译报错来修改语法错误。这也怪不得程序员#xff0c;一方面#xff0c;Android 使用 Arm 平台的 clang 编译器#x… Android C 程序开发现状 在 Android 下开发 C 程序我见过绝大多数人都是不使用任何语法插件就靠硬写写完之后再根据编译报错来修改语法错误。这也怪不得程序员一方面Android 使用 Arm 平台的 clang 编译器跟 x86 平台的开发环境并不是很兼容另一方面Android 要求我们将 C 程序放在 vendor 目录下但是我们包含的头文件却是去 kernel/include 下面找的。如果想要自己配置插件的开发环境通常都是一顿操作猛如虎结果还是各种报错。 Compdb 深入了解 Android 之后我发现其实 Android 内置有 compdb 可以用来生成 compile_commands.json流程上只需要设置几个环境变量即可
cd /path/to/android/root # Android 源码根路径
source build/envsetup.sh
lunch xxxx-userdebug
cd /path/to/app/dir # 项目 Android.mk/Android.bp 所在目录
export SOONG_GEN_COMPDB1
export SOONG_GEN_COMPDB_DEBUG1
export SOONG_LINK_COMPDB_TO$(pwd)
mm等待一段时间后就会在 /path/to/app/dir 目录下看到生成好的 compile_commands.json 了。需要注意的是有些平台似乎不接受 SOONG_LINK_COMPDB_TO不管怎么设置都固定生成在 Android 源码根目录所以如果你在项目目录找不到该文件或者该文件无效就去 Android 根目录看看。
另一种办法 Compiledb-ninja (最简单) https://github.com/schspa/compiledb-ninja 此方法不支持kernel仓库
This is Reference1 Reference2