内核编译

source build/envsetup.sh
每次开始编译开始的第一个命令便是source build/envsetup.sh,其中source命令就是用于运行shell脚本命令,功能等价于”.”,因此该命令也等价于. build/envsetup.sh。在文件envsetup.sh声明了当前会话终端可用的命令,这里需要注意的是当前会话终端,也就意味着每次新打开一个终端都必须再一次执行这些指令。build/envsetup.sh文件存在的意义就是,设置一些环境变量和shell函数为后续的编译工作做准备。

lunch命令是envsetup.sh里定义的一个命令,用来让用户选择编译项,来定义Product和编译过程中用到的全局变量。

 

本文转载于网络 如有侵权请联系删除

相关文章

  • APP自动化之Appium-JAVA环境部署

    Appiumisanopensourcetestautomationframeworkforusewithnative,hybridandmobilewebapps.ItdrivesiOS,Android,andWindowsappsusingtheWebDriverprotocol. Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。它使用WebDriver协议驱动iOS,Android和Windows应用程序。一、Appium简介Appium实现APP自动化测试的脚本开发环境一般包括:appium服务端appium客户端手机或者模拟器1、appium服务端版本分为三种appiumGUI版本,桌面形式,win上更新到了1.4.16(不支持录制),mac上更新到了1.5.x(支持录制),目前均不再维护,GUI版本跟appium版本一一对应appium命令行版本,不管是win还是mac,安装这种形式的就没有界面,npm-g安装方式都是installappium,默认会安装当前最新版本appiumdesktop版本,属于新的桌面形式的appium版本,有界面,

  • 企业智能化路径如何破局?AI能给出答案吗?

    随着工业4.0时代的到来,新一轮科技革命和产业变革正在孕育兴起。制造企业智能化转型困难重重,项目时间紧迫、算法人才缺失、产线精度和效率要求极高等,都是架在企业面前的一座山。工业质检、安全巡检、生产设备健康管理等问题都是制造产业中的重要环节。当前产品质检主要有人工质检和机器视觉质检两种方式,其中人工占90%,人工质检成本高、误操作多,影响产品的良品率;安全生产是企业发展的重中之重,传统巡检需要专人实地或视频巡检,耗时费力,且不易实时监管,过程繁琐,亟需AI帮助企业有效监管工作人员行为和设备故障,及时发现并消除安全隐患,提高企业安全生产系数。当下,AI技术正在被广泛应用于食品加工、装备制造、3C电子等多个领域,包括产品瑕疵检测、厂区安全等多项功能,AI在工业智能化转型过程中也被寄予厚望。面对企业智能化转型痛点,百度飞桨推出 EasyDL零门槛AI开发平台。一方面,我们为具有开发能力的企业提供多场景的高精度预置模型,平台功能覆盖智能标注、模型训练、服务部署等全流程,最快15分钟即可获取定制AI服务。另一方面,百度飞桨协力系统解决方案供应商,帮助企业实现智能化转型需求,进一步降低企业成本。6月

  • 使用以对象为中心的过程多维数据集进行过程比较(CS DB)

    流程挖掘提供了分析业务流程的方法。常用的过程挖掘技术将过程作为一个整体来考虑。然而,在现实的业务流程中,存在着不同的行为,使得整个过程过于复杂,无法解释。过程比较是过程挖掘的一个分支,它利用过程立方体将不同的进程行为相互隔离。过程数据集使用不同的维度组织事件数据。每个单元格包含一组可用作应用流程挖掘技术的输入的事件集。关于过程多维数据集的现有工作假定为单个案例概念。但是,在实际过程中,几个案例概念(例如订单,项目,包裹等)是相互交织的。以对象为中心的过程挖掘是流程挖掘的一个新分支,它处理流程中的多个案例概念。为了在以对象为中心的过程挖掘和进程比较之间架起一座桥梁,我们提出了一个进程多维数据集框架,它支持以对象为中心的事件日志上的切片和骰子等进程多维数据集操作。为了便于比较,该框架与几种以对象为中心的过程发现方法集成在一起。原文题目:ProcessComparisonUsingObject-CentricProcessCubes原文:Processminingprovideswaystoanalyzebusinessprocesses.Commonprocessminingtechniq

  • FPGA零基础学习:嵌入式中位宽的计算

    FPGA零基础学习:嵌入式中位宽的计算本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会。系统性的掌握技术开发以及相关要求,对个人就业以及职业发展都有着潜在的帮助,希望对大家有所帮助。后续会陆续更新Xilinx的Vivado、ISE及相关操作软件的开发的相关内容,学习FPGA设计方法及设计思想的同时,实操结合各类操作软件,会让你在技术学习道路上无比的顺畅,告别技术学习小BUG卡破脑壳,告别目前忽悠性的培训诱导,真正的去学习去实战应用,这种快乐试试你就会懂的。话不多说,上货。嵌入式中位宽的计算作者:郝旭帅校对:陆辉在嵌入式设计中,是经常需要和最底层打交道。无论是利用MCU实现功能还是利用电路直接实现功能,都需要对数字极其敏感。在嵌入式中,所有的数值都是按照二进制码进行存储的。二进制与十进制的计算规则为:二进制的101.01,等于十进制的5.25。在不考虑小数时,我们在设计中,用的到所有的变量都要基于一个位宽,如果位宽不够时,就会

  • SpringBoot整合拦截器之接口加密

    Boss:小优呀,你写的springboot接口是不是知道地址就可以访问?小优:对啊。只要知道地址就能访问。Boss:小优,你有没有想过,我如果是个黑客,你写的接口数据我是不是都可以拿到。小优优:拿到拿到呗。Boss:。。。。小优,我觉得你想家了,建议你可以回家看看了。小优:嗯有点吧。两个月没回家了。真心为为小优的工作担忧。今天给大家分享一下SpringBoot整合过滤器。我找了陈年老图:在给大家画一个登录流程图:请求API流程图:很多精华都在图里了。不多说了,直接上代码吧:拦截器配置: packagecn.cnbuilder.face.station.config; importcom.hcr.face.station.interceptor.LoginInterceptor; importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.context.annotation.Bean; importorg.springframework.context.annotat

  • 使用TensorFlow一步步进行目标检测(2)

    本文翻译自Medium上的文章:StepbyStepTensorFlowObjectDetectionAPITutorial — Part2:ConvertingExistingDatasettoTFRecord,原文地址:https://medium.com/@WuStangDan/step-by-step-tensorflow-object-detection-api-tutorial-part-2-converting-dataset-to-tfrecord-47f24be9248d在上一篇文章使用TensorFlow一步步进行目标检测(1)中,我们选择了目标检测的预训练模型。在这篇文章中,我将展示如何将数据集转换为TFRecord文件,这样我们就可以使用该数据集对模型进行再训练。这是整个过程中最棘手的部分之一,除非我们所选择的数据集是采用的特定格式,否则还需要编写一些代码来处理数据集。如上一篇文章所述,在本教程中,我们将创建一个可以识别交通信号灯状态的交通信号灯分类器。预训练的模型能够识别图像中的交通灯,但不能识别状态(绿色、黄色、红色等)。我决定使用BoschSmallTra

  • 反对性骚扰,机器学习顶会NIPS考虑要改个名字

    AI科技评论按:机器学习顶会NIPS要改名?今天不是4月1日吧?NIPS(ConferenceandWorkshoponNeuralInformationProcessingSystems)是人工智能&机器学习领域历史十分悠久的学术会议了,从1987年创立,以固定每年一次的频率一直开到了2018年。NIPS是领域内公认的顶级会议;在中国计算机学会的国际学术会议排名中,NIPS为人工智能领域的A类会议。NIPS2017共收到了3240篇论文投稿,约8000人注册参会。按理说,已经坐拥盛名的NIPS会议怎么会改名字呢,但NIPS官方推特已经表示他们真的在考虑这个可能性。NIPS:NIPS执行委员会目前正在讨论NIPS会议更名的可能性。5月底时我们将向整个NIPS社区征集新名字的提议以及建议。在此之前请保持耐心。导火索 据AI科技评论了解,这件事起源于约翰霍金斯大学122名教授、博士后、博士生今年3月30日发出的一封要求NIPS改名的联名信。他们在信中指出,首先NIPS2017中出现了一些性骚扰行为,这一定程度上体现了领域内的风气问题。其次,NIPS会议名称是双关语,对参加机器学

  • 分析比特币网络:一种去中心化、点对点的网络架构

    比特币采用了基于互联网的点对点(P2P:peer-to-peer)分布式网络架构。比特币网络可以认为是按照比特币P2P协议运行的一系列节点的集合。本文来分析下比特币网络,了解它跟传统中心化网络的区别,以及比特币网络是如何发现相邻节点的。##中心化网络为了更好的理解P2P网络,我们先来看看传统的中心化模型:这是一种典型的星型(“中心化”)结构,我们常见B/S及C/S网络架构就是这种模型,C1、C2、C3等之间没法直接的连接,C节点如果要连接必须要通过中心化S节点做为桥梁。中心化节点充当服务者、中介作用,比如我们没有办法把资金直接从一个人转移给另一个人,必须通过银行这个中介。##P2P网络P2P网络是指位于同一网络中的每台计算机都彼此对等,各个节点共同提供网络服务,不存在任何“特殊”节点,每个网络节点以扁平(flat)的拓扑结构相互连通。对比中心化网络,在P2P网络中不存在任何服务端(server)、中央化的服务。P2P网络的节点之间交互连接、协同,每个节点在对外提供服务的同时也使用网络中其他节点所提供的服务,每个节点即是服务端又是客户端。P2P网络模型除应用于比特币网络,使用广泛的BT下

  • 腾讯云容器安全服务查询导出任务下载URLapi接口

    1.接口描述接口请求域名:tcss.tencentcloudapi.com。 查询导出任务下载URL 默认接口请求频率限制:20次/秒。 APIExplorer提供了在线调用、签名验证、SDK代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成SDK调用示例。 2.输入参数以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数。 参数名称 必选 类型 描述 Action 是 String 公共参数,本接口取值:DescribeExportJobDownloadURL。 Version 是 String 公共参数,本接口取值:2020-11-01。 Region 否 String 公共参数,本接口不需要传递此参数。 JobID 是 String 任务ID 3.输出参数 参数名称 类型 描述 DownloadURL String 下载链接 RequestId String 唯一请求ID,每次请求都会返回。定位问题时需要提供该次请求的RequestId。 4.示例示例1查询

  • Linux find command All In One

    LinuxfindcommandAllInOne Linuxfind命令用来在指定目录下查找文件。 任何位于参数之前的字符串都将被视为欲查找的目录名。 如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。 并且将查找到的子目录和文件全部进行显示。 语法 #find[options][path...][expression] $findpath-option[-print][-exec-okcommand]{}\; 复制 参数 find根据下列规则判断path和expression,在命令列上第一个-(),!之前的部份为path,之后的是expression。如果path是空字串则使用目前路径,如果expression是空字串则使用-print为预设expression。 expression中可使用的选项有二三十个之多,在此只介绍最常用的部份。 -mount,-xdev:只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件 -aminn:在过去n分钟内被读取过 -anewerfile:比文件file更晚被读取过的文件 -ati

  • mysql学习(9):联合索引和多个单列索引的使用区别详解

    前言为了提高数据库的查询效率,建索引是最常用的手段。那么问题来了,如果查询条件为2个及以上,我们是创建多个单列索引好呢,还是建一个联合索引比较好? 正文我们首先来建一张表,并且指定其中的3个字段(学号、姓名、电话)为联合索引: CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENT,`stu_id`varchar(20)DEFAULTNULLCOMMENT'学号',`name`varchar(30)DEFAULTNULLCOMMENT'姓名',`phone`varchar(30)DEFAULTNULLCOMMENT'电话',`address`varchar(30)DEFAULTNULLCOMMENT'家庭住址',PRIMARYKEY(`id`),KEY`联合索引`(`stu_id`,`name`,`phone`))ENGINE=InnoDBAUTO_INCREMENT=5DEFAULTCHARSET=utf8COMMENT='学生表';123456789接下来我们使用Explain查询来查看接下来的SQL查询语句的执行计划,这次我们只

  • iOS数据持久化--数据库

    一、简介   1.iOS常用的5中存储方式      (1)plist    (2)preference(用户属性)    (3)归档    (4)数据库    (5)coredata   其中(1)(2)(3)都只能存储小型的数据,因为他们的数据存储要求必须完成,每次都必须全部读出,全部写入,如果有1000条数据,那么加入1001条时候,也需要全部读出全部写入。所以不适合存储大型数据。   2. SQLite是一款轻型的嵌入式数据库,安卓和ios开发使用的都是SQLite数据库 二、SQL   要使用sqlite3数据库,就要学会 SQL(结构化查询语言)     1.SQL语句的特点   不区分大小写(比如数据库认为user和UsEr是一样的)   每条语句都必须以分号;结尾     2.SQL有三种语句     (1)数据定义语句(DDL:DataDefinitionLanguage)     (2)数据操作语句(DML:DataManipulationLanguage)     (3)数据查询语句(DQL:DataQueryLanguage) 三、

  • Leetcode题解 - 部分中等难度算法题解(56、957、825、781、1324、816)

    957.N天后的牢房 思路: 模拟变换,当N天结合后返回=>当N非常大的时候,超时=>一般N很大的时候,这种题目必然存在循环,所以记录找过的状态,一旦出现已经访问过的状态可立即跳出循环。 classSolution: defprisonAfterNDays(self,cells,N:int): vis=[] while1: ifnotN: returncells ifcellsinvis: ind=vis.index(cells) break tcell=cells.copy() foriinrange(len(cells)): ifi==0ori==len(cells)-1: tcell[i]=0 continue ifcells[i-1]==cells[i+1]: tcell[i]=1 else: tcell[i]=0 vis.append(cells) cells=tcell N-=1 vis=vis[ind:] returnvis[N%len(vis)] 复制 825.适龄的朋友 思路: 最直观的就是两层循环暴力,意料之中的超时了。那么就改以人为单位交友,变为

  • 【应用】Linux内存调试工具:gdb+gdbserver

    一、测试环境: 运行环境:server:arm64linux-4.14(开发板)      host:x86_64ubuntu-20.04(主机) 工具版本:gdb-10.1   二、工具自我介绍: 看看官方怎么说, GDB,theGNUProjectdebugger,allowsyoutoseewhatisgoingon`inside'anotherprogramwhileitexecutes--orwhatanotherprogramwasdoingatthemomentitcrashed. GDBcandofourmainkindsofthings(plusotherthingsinsupportofthese)tohelpyoucatchbugsintheact: Startyourprogram,specifyinganythingthatmightaffectitsbehavior. Makeyourprogramstoponspecifiedconditions. Examinewhathashappened,whenyourprogramhasstopped

  • UNP 环境配置

    在www.unpbook.com上下载源码,或者直接搜那个源码压缩包可以搜到,注意用的是13e版本,网上很多是第二版的。然后按照里面的README进行MAKE生成静态库文件,然后将两个头文件放到/usr/include下,将静态库文件放到/usr/lib和/usr/lib64下。 还要有apue的代码,这个我忘了有没生成静态库文件了,哦,其实没用到apue的代码,只是用到apueerror.h,这个网上搜一下搜到的,然后里面有#include<apue.h>,但是没用到,我把这行注释了也能没问题。 然后环境就差不多弄好了,里面还有一些细节问题,比如某个size_tsize要改成socket_tsize,还有头文件unp.h里的include"../config.h"要改成"config.h"(大概是这样,可能有点差别,详情网上搜一下)。 然后编译第一章的服务器程序,发现包裹函数Bind、Socket之类的没定义,这些函数在unp.h里有声明,定义估计是在libunp.a里,网上搜了下,在gcc命令行末尾加上-lunp就行了,大概是让加入libunp.a这个静态链接库一起链接

  • 欢迎来到,数据库联盟!

    数据库之用SQl语句操作数据 青春一经“典当”,永不再赎。 把自己当傻瓜,不懂就问,你会学的更多。 一.SQL简介 1.SQL能干点什么嘞? SQL语言是针对数据库而言的一门语言,它可以创建数据库、数据表、可以针对数据库的数据进行增、删、改、查等操作,可以创建视图、存储过程, 可以赋予用户权限等。 2.SQL的发展 SQL的全称是“结构化查询语言(StructuredQueryLanguage)”,是1974年由Boyce和Chamberlin提出来的。1975-1979年由IBM公司研制的关系数 据库管理系统原型系统SystemR实现了这种语言,经过多年的发展,SQL语言已成为关系数据库的标准语言。 3.SQL的组成 *DEM(DataManipulation Language,数据操作语言):用来插入、修改和删除数据库中的数据。 *DDL(DataDefinitionLanguage,数据定义语言):用来建立数据库、数据库对象和定义其列,大部分是以CREATE开头的。 *DQL(DataControlLanguage):用来对数据库中的数据进行查询。 *DCL(DataC

  • linux安装kibana

    下载kibana wgethttps://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-linux-x86_64.tar.gz tar-zxvfkibana-6.3.2-linux-x86_64.tar.gz复制 修改配置文件 vimconfig/kibana.yml #放开注释,将默认配置改成如下: server.port:5601 server.host:"0.0.0.0" elasticsearch.url:"http://192.168.202.128:9200" kibana.index:".kibana"复制 启动 bin/kibana复制 效果  

  • 114、drawable和mipmap 目录下图片的区别

    android在APIlevel17加入了mipmap技术,对bitmap图片的渲染支持mipmap技术,来提高渲染的速度和质量。mipmap是一种很早就有的技术了,翻译过来就是纹理映射技术。android中的mipmap技术主要为了应对图片大小缩放的处理,在android中我们提供一个bitmap图片,由于应用的需要(比如缩放动画),可能对这个bitmap进行各种比例的缩小,为了提高缩小的速度和图片的质量,android通过mipmap技术提前对按缩小层级生成图片预先存储在内存中,这样就提高了图片渲染的速度和质量。 api中通过Bitmap的publicfinalvoidsetHasMipMap(booleanhasMipMap)方法可以让系统渲染器尝试开启Bitmap的mipmap技术。但是这个方法只能建议系统开启这个功能,至于是否正真开启,还是由系统决定。res目录下面mipmap和drawable的区别也就是上面这个设置是否开启的区别。mipmap目录下的图片默认setHasMipMap为true,drawable默认setHasMipMap为false。google建议大家只

  • String to Integer (atoi)

    intmyAtoi(char*str){longlongans=0;intflag=1;intbe=0;while(str[be]=='')be++;if(str[be]=='-'){flag=-1;be++;}elseif(str[be]=='+'){be++;}for(inti=be;str[i];i++){if(ans>INT_MAX){returnflag==-1?INT_MIN:INT_MAX;}if(str[i]<='9'&&str[i]>='0'){ans*=10;ans+=str[i]-'0';}else{break;}}if(-ans==INT_MIN&&flag==-1)returnINT_MIN;if(ans>INT_MAX){returnflag==-1?INT_MIN:INT_MAX;}else{returnans*flag;}}

  • 如何监听对 HIVE 元数据的操作

    目录简介HIVE基本操作获取HIVE源码编译HIVE源码启动HIVE停止HIVE监听对HIVE元数据的操作参考文档 简介 公司有个元数据管理平台,会定期同步HIVE中的元数据。但这样做有个问题,就是如果在HIVE中插入了一张新表或者新库等HIVE元数据变更的操作,元数据管理平台不能及时与HIVE表中的数据进行同步。因此需要调研下HIVE中有没有类似的监听机制,可以实现HIVE中有元数据更改时,能及时发通知给元数据平台。整体的需求图如下所示 由于公司使用的Hive版本是1.2.1,本文也会以此版本进行说明。如果您使用的是其他HIVE版本,无法就文章中的问题进行对应,请自行查阅HIVE官方文档。先来看下HIVE的基本操作。 HIVE基本操作 获取HIVE源码 $gitclonehttps://github.com/apache/hive.git 复制 切换到hive-1.2分支 gitcheckout-bbranch-1.2origin/branch-1.2 复制 切换到hive1.2.1tag gitcheckoutrelease-1.2.1 复制 编译HIVE源码 hive1.2.1

  • ioutil包二

    ioutil包二  (原创随笔,转载请注明出处http://www.cnblogs.com/majianguo/p/8016426.html) ioutil包实现了一些I/O实用功能,导出了7个函数和1个变量: funcNopCloser(rio.Reader)io.ReadCloser funcReadAll(rio.Reader)([]byte,error) funcReadDir(dirnamestring)([]os.FileInfo,error) funcReadFile(filenamestring)([]byte,error) funcTempDir(dir,prefixstring)(namestring,errerror) funcTempFile(dir,prefixstring)(f*os.File,errerror) funcWriteFile(filenamestring,data[]byte,permos.FileMode)error varDiscardio.Writer =devNull(0) 前一篇随笔《Golang文件I/O一》介

相关推荐

推荐阅读