当前位置: 首页 > news >正文

泰安市两学一做网站长沙好的seo外包公司

泰安市两学一做网站,长沙好的seo外包公司,顺德官网建设,简书wordpress文章目录 Android.mk与makefile区别Android.mk规则Android.mk基本格式 Android.mk与makefile区别 Android.mk 和 Makefile 都是用于构建代码项目的构建脚本文件,但是它们在特定上下文中有一些区别: Android.mk: Android.mk 是用于构建 Android 应用或库…

文章目录

    • Android.mk与makefile区别
    • Android.mk规则
    • Android.mk基本格式

Android.mk与makefile区别

Android.mk 和 Makefile 都是用于构建代码项目的构建脚本文件,但是它们在特定上下文中有一些区别:

  1. Android.mk:
    • Android.mk 是用于构建 Android 应用或库项目的构建文件,通常用于基于 Android NDK 的 C/C++ 项目。
    • Android.mk 文件采用类似 GNU Make 的语法,但有一些 Android 特定的规则和函数,比如 LOCAL_MODULEinclude $(BUILD_SHARED_LIBRARY) 等。
    • Android.mk 文件用于描述 Android 项目中的模块、库依赖关系、编译选项等。
  2. Makefile:
    • Makefile 是一个通用的构建工具文件,可用于构建各种类型的项目,不仅限于 Android 开发。
    • Makefile 使用 GNU Make 编程语言,通过指定目标、依赖关系和命令来描述构建过程。
    • Makefile 可用于编译和链接任何类型的项目,包括 C、C++、Java 等。

Android.mk规则

以下是一些常用的 Android 特定规则和函数:

  1. include $(BUILD_SHARED_LIBRARY): 包含共享库构建规则,用于构建一个共享库。
  2. include $(BUILD_STATIC_LIBRARY): 是一个规则,包含静态库构建规则,用于构建一个静态库
  3. include $(PREBUILT_STATIC_LIBRARY) :是一个变量,用于引用预先编译好的静态库文件。通过使用 PREBUILT_STATIC_LIBRARY 变量,可以将预先编译好的静态库文件包含到当前 Android.mk 文件中,以便在编译链接过程中使用该静态库。
  4. include $(BUILD_EXECUTABLE):是一个规则,用于构建一个可执行文件(executable)
  5. LOCAL_PATH:一个常用的变量,用于表示当前 Android.mk 文件所在的目录路径。在 Android 开发中,通常会使用 LOCAL_PATH 变量来获取当前 Android.mk 文件所在的路径,方便在定义模块属性时引用该路径。
  6. include $(CLEAR_VARS):CLEAR_VARS变量是生成系统提供的,它指向一个特殊的GNU Makefile.这个Makefile将会为你自动清除许多名为LOCAL_XXX的变量(比如:LOCAL_MODULE,LOCAL_SRC_FILES,LOCAL_STATIC_LIBRARIES,等),但LOCAL_PATH是例外,它不会被清除。这些变量的清除是必须的,因为所有的控制文件是在单一的GNU make执行环境中解析的,在这里所有的变量都是全局的。
  7. LOCAL_MODULE: 指定当前模块的名称。
  8. LOCAL_SRC_FILES: 指定当前模块的源文件列表。
  9. LOCAL_C_INCLUDES: 指定当前模块的头文件搜索路径。
  10. LOCAL_CFLAGS: 指定当前模块的 C 编译选项。
  11. LOCAL_CPPFLAGS: 指定当前模块的 C++ 编译选项。
  12. LOCAL_LDLIBS: 指定当前模块链接时需要的动态链接库(.so 文件)。可以使用 -l 参数指定需要链接的库,例如:-llog 表示链接系统日志库。
  13. LOCAL_SHARED_LIBRARIES: 指定当前共享库模块依赖的其他共享库。
  14. LOCAL_STATIC_LIBRARIES:指定当前模块依赖的静态库。注意:引用了两个有调用关系的静态库的时候,需要把其中被调用的库放在调用者的后面

Android.mk基本格式

 jni/Anroid.mk文件为NDK生成系统描述了这个共享库。它的内容为:
---------- cut here ------------------
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE  := hello-jni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_SHARED_LIBRARY)
---------- cut here ------------------

现在,让我们逐行解释:

LOCAL_PATH := $(call my-dir)
每个Android.mk文件都必须以定义LOCAL_PATH变量开始。其目的是为了定位源文件的位置。在这个例子,生成系统提供的宏函数(macro function)‘my-dir'用来返回当前路径(即放有Android.mk文件的文件夹)
include $(CLEAR_VARS)
CLEAR_VARS变量是生成系统提供的,它指向一个特殊的GNU Makefile.这个Makefile将会为你自动清除许多名为LOCAL_XXX的变量(比如:LOCAL_MODULE,LOCAL_SRC_FILES,LOCAL_STATIC_LIBRARIES,等),但LOCAL_PATH是例外,它不会被清除。
这些变量的清除是必须的,因为所有的控制文件是在单一的GNU make执行环境中解析的,在这里所有的变量都是全局的。
LOCAL_MODULE := hello-jni
为了在你的Android.mk文件标识每个组件,必须定义LOCAL_MODULE变量。这个名字必须要唯一的并且不能包含空格。注意:生成系统会自动地为相应生成的文件加入前缀或后缀。换言之,一个名叫foo的共享库组件会生成'libfoo.so'重要注意事项:如果你把组件取名为‘libfoo',生成系统将不会加上‘lib'前缀,还是生成libfoo.so。这是为了支持源于Android平台源代码的Android.mk文件。
LOCAL_SRC_FILES := hello-jni.c
LOCAL_SRC_FILES变量必须包含一系列将被构建和组合成组件的C/C++源文件。
注意:你不需要列出头文件或include文件,因为生成系统会为你自动计算出源文件的依赖关系。仅仅列出那些将直接传给编译器的源文件足矣。注意,默认的C++源文件的扩展名是‘.cpp'。但你可以通过定义LOCAL_DEFAULT_EXTENSION
来指定一个扩展名。别忘了扩展名开始的那一点(比如,‘.cxx’,能行,但‘cxx'不行)。
include $(BUILD_SHARED_LIBRARY)
生成系统提供的BUIL_SHARED_LIBRARY变量指向一个GNU Makefile脚本,这个脚本主管收集在最近的一次#include $(CLEAR_VARS)(即清除本地变量)之后你所定义的LOCAL_XXX变量的信息,并决定生成什么,如何准确的生成。
BUILD_STATIC_LIBRARY可生成一个静态库。
http://www.yayakq.cn/news/611047/

相关文章:

  • 广东泰通建设有限公司网站横栏网站建设公司
  • 青岛学校论坛网站建设南京网站建设润洽
  • js网站访问计数网站app免费下载软件大全
  • 资阳网站优化怎么做淘宝客优惠劵网站
  • 天水模板型网站建设做网站的公司成都
  • 做网站需要办什么手续顺德高端网站设计
  • 站长之家 wordpress 流量统计视频网站 界面设计
  • 建材在哪里做网站好采购网上商城
  • 泰安三合一网站建设公司立方米网站
  • 网站建设怎么入会计账太原建立网站
  • 做轮播海报的网站wordpress琪亚娜
  • 网站策划书市场分析成都网页设计专业
  • 供水开发建设公司网站虚拟主机wordpress不能用
  • 网站建设的目的电子商务有限公司怎么注册
  • 秦皇岛网站搜索优化找别人做网站可以提供源码吗
  • 做网站服务器还是虚拟空间好腕表之家
  • 南京栖霞区有做网站的吗WordPress大前端DUX5.1
  • python适合网站开发吗云南省网站开发软件
  • 电子商务网站建设的步骤过程基于分布式控件的网站开发框架
  • 论坛网站制作高端装修公司排名前十
  • 建设一个网站可以采用那几方案重庆公司社保缴费比例
  • 营销网站建设公司有哪些怎么免费从网站上做宣传
  • 天津城市基础设施建设投资集团有限公司网站id自动导入wordpress
  • oa网站建设wordpress acf图片插件
  • 自己买一台服务器做自己的网站网站开发者排名
  • 网站如何做才容易被搜索到深圳 企业 网站建设哪家好
  • jsp和html做的招聘网站微信指数怎么看
  • 安阳市网站制作公司重庆市建设工程信息网官网公示
  • 绵阳的网站建设温州网站建设免费咨询
  • 兖州网站制作网站开发可行性分析