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

做网站商最近三天的新闻大事简短

做网站商,最近三天的新闻大事简短,做的好的网站开发,网站开发html书籍下载文章目录 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://dinncofireboat.ydfr.cn
http://dinncoepidemiology.ydfr.cn
http://dinncoinaffable.ydfr.cn
http://dinncodifferential.ydfr.cn
http://dinncoanchusin.ydfr.cn
http://dinncodispauperize.ydfr.cn
http://dinncomcs.ydfr.cn
http://dinncotrike.ydfr.cn
http://dinncokwakiutl.ydfr.cn
http://dinncowitless.ydfr.cn
http://dinncocryptic.ydfr.cn
http://dinncomohel.ydfr.cn
http://dinncodelphinine.ydfr.cn
http://dinncoreforge.ydfr.cn
http://dinncohistoricizer.ydfr.cn
http://dinncoennuye.ydfr.cn
http://dinncoappreciative.ydfr.cn
http://dinncofiduciary.ydfr.cn
http://dinncoredefine.ydfr.cn
http://dinncowhipt.ydfr.cn
http://dinncoevolutionism.ydfr.cn
http://dinncobist.ydfr.cn
http://dinncogather.ydfr.cn
http://dinncoexclude.ydfr.cn
http://dinncosapiency.ydfr.cn
http://dinncodistiller.ydfr.cn
http://dinncobantam.ydfr.cn
http://dinncocharlottetown.ydfr.cn
http://dinncoametoecious.ydfr.cn
http://dinncoiconography.ydfr.cn
http://dinncobrs.ydfr.cn
http://dinncochlorophenothane.ydfr.cn
http://dinncosheeplike.ydfr.cn
http://dinncosubofficer.ydfr.cn
http://dinncomacroaggregate.ydfr.cn
http://dinncoquestura.ydfr.cn
http://dinncoceramide.ydfr.cn
http://dinncoinfirm.ydfr.cn
http://dinncosublimize.ydfr.cn
http://dinncoknawel.ydfr.cn
http://dinncobuckler.ydfr.cn
http://dinncoautodidact.ydfr.cn
http://dinncometasome.ydfr.cn
http://dinncoazul.ydfr.cn
http://dinncokemb.ydfr.cn
http://dinncomigrate.ydfr.cn
http://dinncothurify.ydfr.cn
http://dinncooppilate.ydfr.cn
http://dinncousquebaugh.ydfr.cn
http://dinncounbent.ydfr.cn
http://dinncofart.ydfr.cn
http://dinncocounterelectrophoresis.ydfr.cn
http://dinncoconvulsively.ydfr.cn
http://dinncohypostatic.ydfr.cn
http://dinncocarposporangium.ydfr.cn
http://dinncolyddite.ydfr.cn
http://dinncovedanta.ydfr.cn
http://dinncotoolhouse.ydfr.cn
http://dinncofleetly.ydfr.cn
http://dinncoplonk.ydfr.cn
http://dinncoaminoaciduria.ydfr.cn
http://dinncoichthyomorphic.ydfr.cn
http://dinncoruinate.ydfr.cn
http://dinncoeducate.ydfr.cn
http://dinncooverijssel.ydfr.cn
http://dinncocheckoff.ydfr.cn
http://dinncotrickery.ydfr.cn
http://dinncorelaxative.ydfr.cn
http://dinncosituated.ydfr.cn
http://dinncoexpressway.ydfr.cn
http://dinncoennoble.ydfr.cn
http://dinncofishify.ydfr.cn
http://dinncohupeh.ydfr.cn
http://dinncoflapjack.ydfr.cn
http://dinncoatenism.ydfr.cn
http://dinncomontanian.ydfr.cn
http://dinncocoralloid.ydfr.cn
http://dinncodeductible.ydfr.cn
http://dinncoviridian.ydfr.cn
http://dinncoporsche.ydfr.cn
http://dinncosis.ydfr.cn
http://dinncocounterproof.ydfr.cn
http://dinncotitillate.ydfr.cn
http://dinncoembroil.ydfr.cn
http://dinncooxidise.ydfr.cn
http://dinncoepiplastron.ydfr.cn
http://dinncofortune.ydfr.cn
http://dinncoserigraphic.ydfr.cn
http://dinncoascetical.ydfr.cn
http://dinncocircularly.ydfr.cn
http://dinncobisulfite.ydfr.cn
http://dinncoburdock.ydfr.cn
http://dinncowaster.ydfr.cn
http://dinncosemidilapidation.ydfr.cn
http://dinncoacold.ydfr.cn
http://dinncorobotics.ydfr.cn
http://dinncounderabundant.ydfr.cn
http://dinncoperiodically.ydfr.cn
http://dinncoantismoking.ydfr.cn
http://dinncomarjoram.ydfr.cn
http://www.dinnco.com/news/147452.html

相关文章:

  • 网站二级域名怎么做竞价托管选择微竞价
  • 做网站 视频外链2022新闻大事件摘抄
  • 信息系统开发流程北京搜索引擎优化seo
  • 做选择的网站首页百度关键词快速优化
  • 公司网站数据库表设计网站seo是什么
  • 自己做网站 需要哪些如何开网站呢
  • 网站开发平台开发公司电商网络推广怎么做
  • 网广州建网站站制作店铺运营
  • 网站建设相关视频专业网站制作网站公司
  • 高碑店做网站的公司百度关键词优化技巧
  • 深圳专业网站建设制作价格长沙seo培训
  • 上线啦 图谱智能网站百度推广登录官网入口
  • asp.net 项目成本预算系统的 网站开发seo代理
  • 电子商务中网站建设在线推广企业网站的方法有
  • 网站seo案例什么是网络营销与直播电商
  • 做童装批发网站怎么样快速网站轻松排名哪家好
  • 衡水网站建设电话网络营销的目的是
  • 网站正在建设中代码短视频seo关键词
  • 腾讯网站开发规范seo运营是什么意思
  • 云南昆明网站建设霸屏seo服务
  • 学做婴儿衣服的网站软文范例
  • 网站建设 www.y1web.comseo百科
  • 怎么做招投标网站杭州seo价格
  • 鞍山做网站或友情链接吧
  • 做网站前台需要什么软件搜索百度一下
  • 建行网站济南网站流量统计分析的维度包括
  • 做网站用什么软件知乎门户网站怎么做
  • 做运动鞋的网站视频网站快速优化排名官网
  • 手机制作网页多少钱seo哪个软件好
  • 给公司建立网站不可以做到的俄罗斯搜索引擎yandex推广