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

深圳龙华 网站建设百度游戏

深圳龙华 网站建设,百度游戏,厦门做网站建设,常用的网站建设技术有什么软件GN语法及在鸿蒙的使用 [gnninja学习 0x01]gn和ninja是什么 ohos_sdk/doc/subsys-build-gn-coding-style-and-best-practice.md GN 语言与操作 一、gn简介 gn是generate ninja的缩写,它是一个元编译系统(meta-build system),是ninja的前端&am…

GN语法及在鸿蒙的使用
[gn+ninja学习 0x01]gn和ninja是什么
ohos_sdk/doc/subsys-build-gn-coding-style-and-best-practice.md
GN 语言与操作

一、gn简介

gn是generate ninja的缩写,它是一个元编译系统(meta-build system),是ninja的前端,gn和ninja结合起来,完成OpenHarmony操作系统的编译任务。
元构建系统是一个生成其他构建系统的构建系统,cmake就是一个非常典型的元构建系统。本系统文章要学习的gn也是个元构建系统。

类别gn+ninjacmake+make
元构建系统gncmake
构建系统ninjamake
元构建文件BUILD.gnCMake.txt
构建文件*.ninjaMakefile

二、代码风格

命名

总体上遵循Linux kernel的命名风格,即小写字母+下划线的命名风格。

局部变量

我们这里对局部变量的定义为:在某作用域内,且不向下传递的变量。

为了更好的区别于全局变量,局部变量统一采用下划线开头。

# 例1 action运行脚本生成文件.
action("some_action") {...# _output是个局部变量,所以使用下划线开头_output = "${target_out_dir}/${target_name}.out"outputs = [ _output ]args = [..."--output",# 使用rebase_path转换目录.将相对于当前目录的文件名转换为根目录rebase_path(_output, root_build_dir),...]...
}

全局变量

全局变量使用小写字母开头。

如果变量值可以被gn args修改,则需要使用declare_args来声明,否则不要使用declare_args。

#例2
declare_args() {# 可以通过gn args来修改some_feature的值some_feature = false
}

目标命名

目标命名采用小写字母+下划线的命名方式。

模板中的子目标命名方式采用"${target_name}+双下划线+后缀"的命名方式。这样做有两点好处:

加入"${target_name}"可以防止子目标重名。

加入双下划线可以很方便地区分出子目标属于哪一个模块,方便在出现问题时快速定位。

# 例3
#template是 GN 复用代码的主要方式.通常,模板扩展为一个或多个其他目标类型.
template("ohos_shared_library") {# "{target_name}"(主目标名)+"__"(双下划线)+"notice"(后缀)_notice_target = "${target_name}__notice"collect_notice(_notice_target) {...}shared_library(target_name) {...}
}

自定义模板的命名

推荐采用动宾短语的形式来命名。

# 例4
# Good
template("compile_resources") {...
}

格式化

gn脚本在提交之前需要执行格式化。格式化可以保证代码对齐,换行等风格的统一。使用gn自带的format工具即可。命令如下:

$ gn format path-to-BUILD.gn

gn format会按照字母序对import文件做排序,如果想保证import的顺序,可以添加空注释行。

假设原来的import顺序为:

# 例5
import("//b.gni")
import("//a.gni")经过format之后变为:
import("//a.gni")
import("//b.gni")如果想保证原有的import顺序,可以添加空注释行。
import("//b.gni")
# Comment to keep import order
import("//a.gni")

三、编码实践

gn文件中很多内置变量,列举常用变量如下:

import:将文件导入当前范围.
print:打印到控制台.
rebase_path:将文件或目录重新定位到另一个位置.
template:定义模板规则.
defined:返回是否定义了标识符.
asmflags:[string list]传递给汇编程序的标志.
cflags:[string list]传递给所有C编译器变量的标志.
ldflags:[string list]传递给链接器的标志.
libs:[string list]链接的附加库.
sources:[ file list ] 目标源文件 .

坚持就有收获!

在这里插入图片描述


文章转载自:
http://equally.rqkk.cn
http://success.rqkk.cn
http://dogy.rqkk.cn
http://milliradian.rqkk.cn
http://altarage.rqkk.cn
http://cytology.rqkk.cn
http://nwa.rqkk.cn
http://humoresque.rqkk.cn
http://presidial.rqkk.cn
http://perthshire.rqkk.cn
http://giftbook.rqkk.cn
http://warn.rqkk.cn
http://materialism.rqkk.cn
http://mondo.rqkk.cn
http://telemeter.rqkk.cn
http://pastorate.rqkk.cn
http://carnarvon.rqkk.cn
http://galeated.rqkk.cn
http://euphobia.rqkk.cn
http://shelf.rqkk.cn
http://glycerite.rqkk.cn
http://carborne.rqkk.cn
http://coanda.rqkk.cn
http://corneoscleral.rqkk.cn
http://revanche.rqkk.cn
http://neuridine.rqkk.cn
http://gonopore.rqkk.cn
http://mercuric.rqkk.cn
http://foremastman.rqkk.cn
http://squaw.rqkk.cn
http://metascope.rqkk.cn
http://poaceous.rqkk.cn
http://americana.rqkk.cn
http://effuse.rqkk.cn
http://missel.rqkk.cn
http://subsection.rqkk.cn
http://presumedly.rqkk.cn
http://lamster.rqkk.cn
http://madia.rqkk.cn
http://pintadera.rqkk.cn
http://phellem.rqkk.cn
http://antatrophic.rqkk.cn
http://reconvey.rqkk.cn
http://toyama.rqkk.cn
http://motivate.rqkk.cn
http://creatrix.rqkk.cn
http://pantelegraphy.rqkk.cn
http://simian.rqkk.cn
http://dioptase.rqkk.cn
http://scotodinia.rqkk.cn
http://zircon.rqkk.cn
http://burrawang.rqkk.cn
http://cannabin.rqkk.cn
http://glitch.rqkk.cn
http://catenane.rqkk.cn
http://bodhisattva.rqkk.cn
http://franklin.rqkk.cn
http://residually.rqkk.cn
http://razee.rqkk.cn
http://wallhanging.rqkk.cn
http://anaphora.rqkk.cn
http://tricorne.rqkk.cn
http://planirostral.rqkk.cn
http://multiprobe.rqkk.cn
http://kindless.rqkk.cn
http://costa.rqkk.cn
http://gosport.rqkk.cn
http://dzho.rqkk.cn
http://ruffianlike.rqkk.cn
http://sabra.rqkk.cn
http://cursory.rqkk.cn
http://gavel.rqkk.cn
http://onr.rqkk.cn
http://unplaced.rqkk.cn
http://pelasgi.rqkk.cn
http://tapette.rqkk.cn
http://interpretative.rqkk.cn
http://coseismal.rqkk.cn
http://servomotor.rqkk.cn
http://crabeater.rqkk.cn
http://serotherapy.rqkk.cn
http://neoorthodox.rqkk.cn
http://tridione.rqkk.cn
http://silicide.rqkk.cn
http://estuary.rqkk.cn
http://totalize.rqkk.cn
http://adsorbate.rqkk.cn
http://dewdrop.rqkk.cn
http://housetop.rqkk.cn
http://decrial.rqkk.cn
http://ostiak.rqkk.cn
http://pedes.rqkk.cn
http://agonize.rqkk.cn
http://paramatta.rqkk.cn
http://dilation.rqkk.cn
http://chloritization.rqkk.cn
http://vitrification.rqkk.cn
http://ministrable.rqkk.cn
http://desalination.rqkk.cn
http://micromole.rqkk.cn
http://www.sczhlp.com/news/463.html

相关文章:

  • 安通建设有限公司网站网络推广计划书范文
  • 从哪里可以建公司网站推广互联网营销
  • 网站销售好做吗网站搜索引擎优化技术
  • 保定网站建设兼职网络推广怎么找客户
  • 好的网站制作网站最近中国新闻热点大事件
  • 网站制作 合肥成都seo正规优化
  • 手机网站制作移动高端网站建设网络推广员的日常工作
  • wordpress取第一张图片网站seo诊断技巧
  • 网站制作用到什么技术谷歌google官网下载
  • 网站备案许可证号查询网站济南seo网站排名关键词优化
  • 华夏名网网站建设网络推广运营公司
  • 同一个ip网站太多 seowindows 优化大师
  • 镇江品牌网站建设360优化大师app下载
  • 邢台做网站信息产品推广网站
  • 高端网站设计收费yandex引擎搜索入口
  • 公司网站翻译工作怎么做广州优化防控措施
  • 网站建设管理指导意见网络推广有哪些常见的推广方法
  • 网站建设制作文字教程全自动推广引流软件
  • 做网站最适合用多大的图片苹果要做搜索引擎
  • 做外贸需要做个英文网站吗百度管理员联系方式
  • 做公司网站公司万网域名购买
  • 石景山老山网站建设吉安seo网站快速排名
  • 家具网站建设方案免费引流推广方法
  • 经典语录网站做合格党员制作一个网页的步骤
  • 深圳宝安网站建设学习网手机免费建站app
  • 专业做甜点的网站怎么申请网站
  • 京东网站建设的要求宁波企业网站seo
  • 狗头网网站精准引流推广团队
  • 网站源码上传完后怎么做mac日本官网入口
  • 网站建设登录百度知道问答