barriers / 阅读 / 详情

gulp-usemin怎么处理多个html文件

2023-06-19 12:24:03
TAG: gulp
共1条回复
max笔记

gulp-usemin处理多个html文件的方法:

1、在gulp.src目录下定义要处理的css、html和js文件:

2、在gulp.task中注入多个需要处理的html文件就可以。

完整代码如下:

function build(path){

return gulp.src([path])

.pipe(plugins.usemin({

css: [plugins.minifyCss({keepSpecialComments: false}), "concat"],

html: [plugins.minifyHtml({empty: true})],

js: [plugins.uglify({

mangle: false,

compress: false,

beautify: true

}), plugins.rev()]

}))

.pipe(gulp.dest(paths.server));

}

//注册处理总调度任务

gulp.task("build-html", function (cb) {

plugins.sequence("build-master", "build-slave", cb);

});

// 处理index.html

gulp.task("build-master", function () {

return build("index.html")

});

// 处理slave.html

gulp.task("build-master", function () {

return build("slave.html")

});

相关推荐

gulp 怎样实现页面的路径替换

比较好的解决法是,首先创建package.json文件,然后显示`npminstallgulp--save-dev`,这样会把gulp安装到当前目录下node_modules目录下。同时一个gulp的executable会被安装到./node_modules/.bin下。此时你执行。./node_modules/.bin/gulp即可。这种方法比全局安装要好,因为用到的gulp的版本只和当前项目相关。如果觉得每次输入./node_modules/gulp复杂,那么你在package.json中得scripts段落添加诸如{"build":"gulp"},然后每次在工程目录执行npmbuild即可。npm运行脚本时,会自动到./node_modules/.bin下查找对应的可执行文件。
2023-06-19 11:08:321

gulp 怎么编译页面中的es6

gulp在3.9版本里面增加了对babel的支持,因此我们可以直接在gulpfile里面使用ES6(ES2015)了。升级gulp版本首先要检测一下我们的gulp版本,确保CLI版本及Local版本都在3.9之上:gulp -v版本如下:CLI version 3.9.0Local version 3.9.0若版本过低,我们可以通过以下方式进行升级,这里将同时升级CLI版本和Local版本:npm install gulp -g && npm install gulp --save-dev安装babel我们需要安装babel-core及babel-preset-es2015来转换ES6代码:npm install babel-core babel-preset-es2015 --save-dev然后,创建一个.babelrc文件来使用es2015 preset:touch .babelrc写入如下内容:{"presets": ["es2015"]}接下来就是使用ES6语法重写gulpfile了。使用ES6语法重写gulpfile首先,重命名gulpfile.js为gulpfile.babel.js,这样gulp执行前会自动调用babel转换文件。mv gulpfile.js gulpfile.babel.js然后在gulpfile.babel.js里面用ES6语法写些内容,如下:"use strict";import gulp from "gulp";import less from "gulp-less";const paths = {less: "less/",dest: "build/"};gulp.task("less", () => {gulp.src(`${paths.less}**/*.less`).pipe(less()).pipe(gulp.dest(`${paths.dest}css/`));});然后执行gulp命令:gulp less这里和原来一样,以前的命令怎么用现在还是怎么用!GitHub源码:using-es6-with-gulp
2023-06-19 11:08:501

gulp怎么压缩html js css 混合的文件

合并和压缩JS、CSS文件压缩JS,CSS文件需要引用如下组件:gulp-minify-css: 压缩cssgulp-jshint: 检查jsgulp-uglify: 压缩jsgulp-concat: 合并文件gulp-rename: 重命名文件gulp-clean: 清空文件夹gulp-notify:提示安装组件项目目录,通过cd 进入项目的根目录,执行下边的npm安装组件npm install gulp-minify-css gulp-jshint gulp-uglify gulp-rename gulp-concat gulp-clean gulp-notify --save-dev
2023-06-19 11:09:011

gulp执行任务的速度很慢 怎么优化

1、在任务管理器中(ctrl+alt+delete),选性能,看卡住的时候哪些程序内存占用过多,cpu使用率过高,内存过多的话,上网查一下是什么进程,可结束的就结束程序。cpu过高,可试试换操作系统。还可在事件查看器中看系统经常报什么错,看能否找出问题。  2、W7系统,可下载W7优化大师,优化一下。W8系统有W8优化大师,XP有优化大师。  3、W7、W8:开始-运行(输入msconfig)-回车-引导---高级选项---勾选"处理器个数",选择最大核心数--勾选"最大内存"--确定。回到系统配置窗口-启动,保留杀毒软件和输入法,其它的全部禁用。  4、用金山或者360卫士,在优化系统中打开开机加速,关闭一些你不需要开机启动的进程。  5、进行磁盘碎片整理和磁盘清理。注意:W7不能压缩C盘来增大空间,否则无法启动。
2023-06-19 11:09:251

为什么安装gulp的时候总是提示 Local gulp not found in

解决方法: 第1步:先cd到当前目录中,如果是webstorm打开Terminal默认就是当前项目,使用以下命令,回车即可:npm link gulp 第2步:配置node相关的环境变量,即node_modules的安装目录:使用以下命令:npm root -g 获得安装路径,然后 vim ~/.bash_profile 添加两行: NODE_PATH=/usr/local/lib/node_modules export NODE_PATH
2023-06-19 11:09:481

如何使用gulp来编译coffeescript

原理.coffee是coffeescript的文件后缀,通过coffee的编译器,可以把它编译成js示例Gulpfile.js里安装模块var coffee = require("gulp-coffee");var coffeelint = require("gulp-coffeelint");配置校验和编译//////////////////// CoffeeScript ////////////////////gulp.task("validate_coffee", function () { gulp.src(coffeescript_files) .pipe(coffeelint()) .pipe(coffeelint.reporter());});gulp.task("compile_coffee", ["validate_coffee"], function() { gulp.src(coffeescript_files) .pipe(cache("coffee")) .pipe(coffee({bare: true}).on("error", gutil.log)) .pipe(gulp.dest(build_dir));});说明:validate_coffee是用于校验coffee语法的taskcompile_coffee是编译coffee脚本为js的task,它依赖于validate_coffee,即在执行compile之前必须先校验-----------------------------------如有疑问欢迎追问!满意请点击右上方【选为满意回答】按钮
2023-06-19 11:10:001

gulp devour的difference

gulp可以作为名词:I took in a large gulp of air.devour只能作为动词:The scourge will devour all.
2023-06-19 11:10:101

gulp版本自动化文件中路径含有变量(绝对路径)怎么处理

你这是问的什么问题 ?
2023-06-19 11:10:222

stuff与 gulp的区别?都有狼吞虎咽的意思哦???怎么区分?

stuff是塞(满肚子),gulp则注重一大口一大口的吃
2023-06-19 11:10:522

gulp压缩合并css/js时,怎么自动修改引用压缩后的css/js的路径

记录一下用 gulp 来合并、压缩CSS以及进行 MD5命名以及替换文件中引入的CSS文件,当然这一系列操作都是用基于gulp插件的,主要会用到下面的几个插件:var concat = require("gulp-concat");//- 多个文件合并为一个;var minifyCss = require("gulp-minify-css");//- 压缩CSS为一行; var rev = require("gulp-rev");//- 对文件名加MD5后缀var revCollector = require("gulp-rev-collector");//- 路径替换安装Gulp插件到本地项目npm init//- 生成一个 package.json,里面是一些常规的配置信息npm install gulp gulp-concat gulp-minify-css gulp-rev gulp-rev-collector --save-dev//- 安装插件到项目目录内完成上面两步后,会在我们的项目内生成一个package.json文件以及一个node_modules目录创建配置文件 gulpfile.js在项目根目录内创建一个 gulpfile.js 文件(必须是这个文件名哟~),内容就是上面几个插件的配置信息:var gulp = require("gulp");var concat = require("gulp-concat"); //- 多个文件合并为一个;var minifyCss = require("gulp-minify-css"); //- 压缩CSS为一行;var rev = require("gulp-rev"); //- 对文件名加MD5后缀var revCollector = require("gulp-rev-collector"); //- 路径替换gulp.task("concat", function() { //- 创建一个名为 concat 的 taskgulp.src(["./css/wap_v3.1.css", "./css/wap_v3.1.3.css"]) //- 需要处理的css文件,放到一个字符串数组里.pipe(concat("wap.min.css")) //- 合并后的文件名.pipe(minifyCss()) //- 压缩处理成一行.pipe(rev()) //- 文件名加MD5后缀.pipe(gulp.dest("./css")) //- 输出文件本地.pipe(rev.manifest()) //- 生成一个rev-manifest.json.pipe(gulp.dest("./rev")); //- 将 rev-manifest.json 保存到 rev 目录内});gulp.task("rev", function() {gulp.src(["./rev/*.json", "./application/**/header.php"]) //- 读取 rev-manifest.json 文件以及需要进行css名替换的文件.pipe(revCollector()) //- 执行文件内css名的替换.pipe(gulp.dest("./application/")); //- 替换后的文件输出的目录});gulp.task("default", ["concat", "rev"]);运行结果通过以上的配置之后,就可以开始运行 gulp 对我们的项目进行相关的操作啦;使用 gulp 命令,运行Gulp.js 构建程序首先运行 concat 这个 task 生成一个 rev-manifest.json 文件然后再运行 rev 这个 task 替换掉文件中引入的 cssYuanWingdeMacBook-Pro:m YuanWing$ gulp concat[11:47:02] Using gulpfile ~/SVN/JKD/m/gulpfile.js[11:47:03] Starting "concat"...[11:47:03] Finished "concat" after 12 msYuanWingdeMacBook-Pro:m YuanWing$ gulp rev[11:47:17] Using gulpfile ~/SVN/JKD/m/gulpfile.js[11:47:17] Starting "rev"...[11:47:17] Finished "rev" after 10 msYuanWingdeMacBook-Pro:m YuanWing$ rev-manifest.json文件内容:{ "wap.min.css": "wap.min-c49f62a273.css"}header.php替换前后对比:替换前:<link rel="stylesheet" href="/css/wap.min.css" />替换后:<link rel="stylesheet" href="/css/wap.min-c49f62a273.css" />gulp-rev-collector进行文件路径替换是依据 rev-manifest.json 的,所以要先成生 .json 文件,然后再进行替换;
2023-06-19 11:11:011

It only works if I gulp on my tiptoes. 这句英语;on是介词还是副词?

在这个句子中,on是介词。
2023-06-19 11:11:185

执行gulp命令报错,怎么办

uglify解析时出错了,看下问题出在哪儿.pipe(uglify().on("error", function(e) {console.log(e);})
2023-06-19 11:11:411

为什么安装gulp的时候总是提示 Local gulp not found in

  比较好的解决办法是,首先创建 package.json 文件,然后显示`npm install gulp --save-dev`,这样会把 gulp 安装到当前目录下 node_modules 目录下。同时一个 gulp 的 executable 会被安装到 ./node_modules/.bin 下。此时你执行 。./node_modules/.bin/gulp 即可。这种方法比全局安装要好,因为用到的 gulp 的版本只和当前项目相关。如果觉得每次输入 ./node_modules/gulp 复杂,那么你在 package.json 中得 scripts 段落添加诸如 {"build": "gulp" },然后每次在工程目录执行 npm build 即可。npm 运行脚本时,会自动到 ./node_modules/.bin 下查找对应的可执行文件。
2023-06-19 11:12:001

gulp执行压缩时很慢怎么实现

1、在任务管理器中(ctrl+alt+delete),选性能,看卡住的时候哪些程序内存占用过多,cpu使用率过高,内存过多的话,上网查一下是什么进程,可结束的就结束程序。cpu过高,可试试换操作系统。还可在事件查看器中看系统经常报什么错,看能否找出问题。  2、W7系统,可下载W7优化大师,优化一下。W8系统有W8优化大师,XP有优化大师。  3、W7、W8:开始-运行(输入msconfig)-回车-引导---高级选项---勾选"处理器个数",选择最大核心数--勾选"最大内存"--确定。回到系统配置窗口-启动,保留杀毒软件和输入法,其它的全部禁用。  4、用金山或者360卫士,在优化系统中打开开机加速,关闭一些你不需要开机启动的进程。  5、进行磁盘碎片整理和磁盘清理。注意:W7不能压缩C盘来增大空间,否则无法启动。
2023-06-19 11:12:091

为什么我使用gulp-babel不能将es6编译成es5

需要安装babel-preset-es2015插件,才能把es6编译成es5npm install --save-dev babel-preset-es2015在gulpfile.js中增加presets var gulp = require("gulp");var babel = require("gulp-babel");gulp.task("default", function () {return gulp.src("src/app.js").pipe(babel({presets: ["es2015"]})).pipe(gulp.dest("dist"));});
2023-06-19 11:12:281

为什么安装gulp的时候总是提示 Local gulp not found in

解决方法:第1步:先cd到当前目录中,如果是webstorm打开Terminal默认就是当前项目,使用以下命令,回车即可:npmlinkgulp第2步:配置node相关的环境变量,即node_modules的安装目录:使用以下命令:npmroot-g获得安装路径,然后vim~/.
2023-06-19 11:12:371

为什么安装gulp的时候总是提示 Local gulp not found in

需要不带 -g 安装到项目路径:1npm install gulp
2023-06-19 11:13:091

gulp压缩合并css/js时,怎么自动修改引用压缩后的css/js的路径

知道怎么做了吗?可否告知一下
2023-06-19 11:13:242

为什么修改代码之后 gulp build就会恢复到没修改之前的代码呢

这个原因可能是因为这个school.css是由css预处理器编译出来的,你看看是不是有叫school.less或者school.scss这种类似的文件,去修改这里面对应的图片路径,不然你只修改css文件是没用的,编译后会被覆盖掉
2023-06-19 11:13:451

gulp压缩合并css/js时,怎么自动修改引用压缩后的css/js的路径

css文件压缩用gulp-minify,js多个文件合并好像是gulp-concat然后再将其压缩用gulp-uglify
2023-06-19 11:13:521

gulp-rev-collector 怎么替换不了html中js

你需要结合gulp-rev使用的。然后根据npm上的文档,看看具体使用方法吧。这里只说一下大概过程,gulp-rev会产生一个json文件,对应rev前后的名称,然后再通过gulp-rev-collector把要替换资源的html和这个json作为参数传入,然后就可以达到目的完成资源替换了。
2023-06-19 11:13:591

为什么安装gulp的时候总是提示 Local gulp not found in

stlessly from side to side, seeking for the
2023-06-19 11:14:181

在cmd窗口下输入gulp watch,这条命令是干什么用的?什么意思?

所在目录下是不是有个gulpfile.js的文件 里面是不是有这个方法gulp.task("watch", function () {});执行的是这个
2023-06-19 11:14:351

前端开发中提到的“脚手架”到底指什么,CLI

脚手架是指输入简单的指令就可以完成基本环境搭建的工具(减少重复代码的工具),比如gulp是任务自动构建工具,gulp-cli则是以命令行的形式安装和操作gulp的工具。gulp和gulp-cli的区别(http://stackoverflow.com/questions/35571679/what-does-gulp-cli-stands-for)有详细的介绍。
2023-06-19 11:14:441

贝克力400倍诱鱼好用吗

好用。1、贝克力400倍诱鱼,气味能够400倍快速扩散,能够快速的引诱鱼儿上钩,以及更大范围的引鱼儿上钩。2、贝克力GULP是一种能与淡海水兼容的强效诱鱼剂,它是一种水性的聚合物质,通过水的逐渐渗入及不断流动,能够快速的在水中散播开来。
2023-06-19 11:14:521

前端开发需要掌握的经验?

提高程序员的工作经验除了通过项目实际开发以外,只有平时的知识积累以及简单的程序开发测验等项目来提高了。今天,我们就一起来了解一下,在提高开发工程师操作经验的时候,都有哪些方面是需要掌握的。在此之前,如果你需要使用一些外部的库或者任何插件,你都需要手动下载相应的JavaScript和CSS文件,然后把它们放进项目中。但是如果这些库或者插件发布新版本的话,你也得在项目中做出相应的更新,这样管理项目是非常麻烦的。包管理器帮助你解决了这个麻烦,它们可以帮助你自动地将外部库和插件引入到项目中,这样你就不必专门手动更新外部文件了。包管理器有yarn和npm,两者几乎相同,都只有安装的功能。你可以选择其中的任何一个,一旦学会使用其中的一个,另一个也就会了。让我们学以致用当你对包管理器有了基本的了解之后,就可以在你制作的网页中引入一些外部库。例如你可以安装一些Toast插件,当用户点击按钮的时候,用Toast插件向他们显示信息;或者你可以创建一个登陆表单,利用一些表单验证库来进行表单验证。可以学习如何使用不同的库,并了解如何安装不同的版本。CSS预处理器预处理器让CSS的功能更加丰富。CSS预处理器有Sass,Less,Stylus等等。如果让我选择的话,我喜欢Sass。近比较流行的CSS预处理器是PostCSS,它的作用相当于CSS的解析器,了解它的使用也是很不错的。它可以单独使用,也可以配合Sass使用。我的建议是先学会Sass,后面如果你有时间的话可以再研究PostCSS.CSS框架你不需要再学习CSS框架,当然如果你想学习的话,也有很多选择。我喜欢的CSS框架是Bootstrap、Materialize和Bulma。但是结合现在的市场需求来说,我会选择Bootstrap。CSS文件管理随着项目的复杂程度增加,CSS也会开始变得混乱而无法维护。我们也有很多方式可以更好地构建CSS,以实现可伸缩性。例如OOCSS、SMACSS、SUITCSS、Atomic和BEM。你可以了解下它们之间的不同,我个人更喜欢BEM。构建工具构建工具可以帮助你构建、打包和开发JavaScript应用程序。这里包括校验工具、自动化构建工具及打包工具。自动化构建工具有npm、gulp、grunt等。但是现在Webpack已经能够实现Gulp的很多功能,所以,现在通常都只使用npm来配合webpack完成任务自动化。你不必学习Gulp,当然以后如果你有时间的话,也可以了解一下,看看它是否适用于你的项目。校验工具有ESLint、JSLint、JSHint和JSCS,但是目前大部分人都使用ESLint。打包工具有Parcel、Webpack、Rollup、Browserify等等。如果必须选择一个的话,请毫不犹豫地选择Webpack。Rollup也很常用,但是北大青鸟昌平计算机学院建议将它用在库里面。在开发app的时候,请使用Webpack。所以,现在请开始自学Webpack,如果你愿意的话,了解一下Rollup也可以。
2023-06-19 11:14:591

前端开发需要掌握的经验?

提高程序员的工作经验除了通过项目实际开发以外,只有平时的知识积累以及简单的程序开发测验等项目来提高了。今天,我们就一起来了解一下,在提高开发工程师操作经验的时候,都有哪些方面是需要掌握的。在此之前,如果你需要使用一些外部的库或者任何插件,你都需要手动下载相应的JavaScript和CSS文件,然后把它们放进项目中。但是如果这些库或者插件发布新版本的话,你也得在项目中做出相应的更新,这样管理项目是非常麻烦的。包管理器帮助你解决了这个麻烦,它们可以帮助你自动地将外部库和插件引入到项目中,这样你就不必专门手动更新外部文件了。包管理器有yarn和npm,两者几乎相同,都只有安装的功能。你可以选择其中的任何一个,一旦学会使用其中的一个,另一个也就会了。让我们学以致用当你对包管理器有了基本的了解之后,就可以在你制作的网页中引入一些外部库。例如你可以安装一些Toast插件,当用户点击按钮的时候,用Toast插件向他们显示信息;或者你可以创建一个登陆表单,利用一些表单验证库来进行表单验证。可以学习如何使用不同的库,并了解如何安装不同的版本。CSS预处理器预处理器让CSS的功能更加丰富。CSS预处理器有Sass,Less,Stylus等等。如果让我选择的话,我喜欢Sass。近比较流行的CSS预处理器是PostCSS,它的作用相当于CSS的解析器,了解它的使用也是很不错的。它可以单独使用,也可以配合Sass使用。我的建议是先学会Sass,后面如果你有时间的话可以再研究PostCSS.CSS框架你不需要再学习CSS框架,当然如果你想学习的话,也有很多选择。我喜欢的CSS框架是Bootstrap、Materialize和Bulma。但是结合现在的市场需求来说,我会选择Bootstrap。CSS文件管理随着项目的复杂程度增加,CSS也会开始变得混乱而无法维护。我们也有很多方式可以更好地构建CSS,以实现可伸缩性。例如OOCSS、SMACSS、SUITCSS、Atomic和BEM。你可以了解下它们之间的不同,我个人更喜欢BEM。构建工具构建工具可以帮助你构建、打包和开发JavaScript应用程序。这里包括校验工具、自动化构建工具及打包工具。自动化构建工具有npm、gulp、grunt等。但是现在Webpack已经能够实现Gulp的很多功能,所以,现在通常都只使用npm来配合webpack完成任务自动化。你不必学习Gulp,当然以后如果你有时间的话,也可以了解一下,看看它是否适用于你的项目。校验工具有ESLint、JSLint、JSHint和JSCS,但是目前大部分人都使用ESLint。打包工具有Parcel、Webpack、Rollup、Browserify等等。如果必须选择一个的话,请毫不犹豫地选择Webpack。Rollup也很常用,但是北大青鸟昌平计算机学院建议将它用在库里面。在开发app的时候,请使用Webpack。所以,现在请开始自学Webpack,如果你愿意的话,了解一下Rollup也可以。
2023-06-19 11:15:061

钟丽缇有几个女儿

钟丽缇有3个女儿
2023-06-19 11:09:423

芙罗兰适合什么年龄

20多岁的人最适合,呵呵
2023-06-19 11:09:442

电脑开机黑屏出现nobootadlepartitonintable

没有启动分区,可能是磁盘出错,系统损坏了,格式一个硬盘再安装一下系统吧
2023-06-19 11:09:443

NBA中常规赛的英文单词是什么?

regular season
2023-06-19 11:09:474

我想取个英文名,求高手们帮帮忙

Sherril 雪丽尔
2023-06-19 11:09:516

求好听的德语名字~急~

Steffie Katherina 个人觉得这两个还不错啦 呵呵
2023-06-19 11:09:545

4个固定IP如何通过路由器分配

华为MA5610是华为技术有限公司推出为更好地满足客户对FTTB/FTTC/FTTN组网中MDU设备的需求EPON/GPON远端光接入单元,也就是一个光猫。你肯定需要一个比较好的路由器来连接光猫,不要使用宽带路由器,使用一般的企业级接入路由器最好,如思科的2600/2800系列。给你的IP地址一方面要配置在路由器的外网连接口,另外可能是为你的DNS服务器、WWW服务器等准备的。注意,在配置路由器外网口的ip地址时要与运营商联系一下,他们那端使用的ip及掩码及封装方式(如果是WAN口)等参数,否则是连不通的。
2023-06-19 11:10:054

AlexandriaBenoit是哪里人

AlexandriaBenoitAlexandriaBenoit是一名演员,参与作品有《小镇杀人之歌》、《迪格拉丝中学:下一代》等。外文名:AlexandriaBenoit职业:演员代表作品:《小镇杀人之歌》合作人物:艾德·加斯-多内利
2023-06-19 11:10:071

求人帮忙起一英文名字

Aaron 艾伦 希伯来 巍然的高山;受神启示的Abbott 艾布特 希伯来 父性的;伟大的精神Abel 亚伯 拉丁 生命;呼吸Abner 艾伯纳 希伯来 睿智;有智慧 Abraham 亚伯拉罕 希伯来 崇高的父亲;众人之父Adair 亚岱尔 苏格兰,爱尔兰 犹如像树般坚强Adam 亚当 希伯来 天下第一个男人,男性Adolph 阿道夫 德国 高贵的狼 (还记得希特勒吧)Adonis 亚度尼斯 希腊 美男子Alan 艾伦 斯堪的那维亚 英俊的,好看的;和睦,和平;高兴的(原义)Albert 艾伯特 英国 高贵的聪明;人类的守护者 (记得爱因斯坦吗)Aldrich 奥德里奇 英国 英明的统治者Alexander 亚历山大 希腊 人类的保护者 (国王的名字)Alfred 亚尔弗列得 英国;条顿 睿智的顾问;聪明帮手Alger 阿杰尔 英国 光荣高贵护卫Allen 艾伦 盖尔 英俊的;好看的Alston 奥斯顿 英国 出身高贵的人Alva 阿尔瓦 拉丁 白种人的;金发碧眼的Alvin 阿尔文 条顿 被大家所喜爱的;每个人的朋友Alvis 亚尔维斯 挪威 短小精悍的人Amos 亚摩斯 希伯来 任重道远的人Andre 安得烈 法国 勇敢的,骁勇的Andrew 安德鲁 希腊 男性的,勇敢的,骁勇的Andy 安迪 希腊 男性的,勇敢的,骁勇的Angelo 安其罗 义大利 上帝的使者Augus 安格斯 盖尔 一个,唯一无二的;塞尔特神话中的爱神Ansel 安西尔 法国 出身或教养均极高贵的人Antony 安东尼 拉丁 值得赞美,备受尊崇的Antonio 安东尼奥 拉丁 值得赞美,备受尊崇的Archer 阿奇尔 英国 拉开千钧之弓的大力士Archibald 阿奇柏德 英国 高贵的,勇敢的Aries 亚力士 拉丁 公羊 (牡羊座的英文)Arlen 亚尔林 英国 誓约Armand 亚尔曼 德国 军人Armstrong 阿姆斯壮 英国 臂力强健的人 (我的一小步,是人类的一大步)Arno 阿诺 条顿 鹰Arthur 亚瑟 英国 高尚的或贵族的 (石中剑ㄉ男主角)Arvin 艾文 条顿 以平等之心待人者Asa 亚撒 希伯来 上帝的赐予;治愈者Atwood 亚特伍德 英国 住在森林或森林中的人Aubrey 奥布里 条顿 有钱有势的国王August 奥格斯格 拉丁 神圣的、尊崇的或身份高尚的人;八月Augustine 奥古斯汀 拉丁 指八月出生的人Avery 艾富里 英国 淘气,爱恶作剧的人Baird 拜尔德 爱尔兰 很会唱民谣的人Baldwin 柏得温 条顿 在战场很英勇的人Bard 巴德 英国 很快乐,且喜欢养家畜的人Barlow 巴罗 希腊 住山中的人Barnett 巴奈特 英国 领袖 ,具高贵的天赋Baron 巴伦 英国 勇敢的战士;高贵Barret 巴里特 条顿 有大担当的人Barry 巴里 爱尔兰 优秀的射手Bartholomew 巴萨罗穆 希腊 是耶稣的十二门徒之一Bart 巴特 希腊 也是耶稣的十二门徒之一Barton 巴顿 英国 住在大麦田里的人 (那个将军五星的喔)Basil 巴泽尔 拉丁 高贵的Beacher 比其尔 英国 原意浪涛 (不是骂人ㄉ喔)Beau 宝儿 法国 好修饰的人,****Beck 贝克 英国 溪流Ben 班 希伯来 儿子;山峰Benedict 班尼迪克 拉丁 受祝福的;能言善道的;神圣的Benjamin 班杰明 希伯来 最喜爱的儿子;幸运的Bennett 班奈特 拉丁 受祝福的人Benson 班森 希伯来,英国 具有其父般性格人Berg 柏格 条顿 冰山Bernard 伯纳 条顿 像熊一般勇敢Bernie 伯尼 条顿 也是像熊一般勇敢Bert 伯特 英国 全身散发出荣耀和光辉的人Berton 伯顿 英国 勤俭治产之人Bertram 伯特莱姆 条顿 幸运且杰出的人Bevis 毕维斯 法国 能明察周遭环境的人Bill 比尔 德国 强而有力的战士或保护者Bing 宾 德国 来自很特殊的村落Bishop 毕夏普 英国 监督者Blair 布雷尔 塞尔特 平原的;多沼泽的战场Blake 布莱克 英国 漂白Blithe 布莱兹 英国 很快乐的人Bob 鲍伯 条顿 辉煌的名声Booth 布兹 挪威 住小茅屋的人Borg 柏格 斯拉夫 居住在一座世袭古堡之中者Boris 伯里斯 俄国 战争Bowen 波文 英国 有教养的贵族Boyce 柏宜斯 法国 住在森林中的独立者Boyd 布德 塞尔特 金发的;白种人的Bradley 布兰得利 英国 来自宽广的草地Brady 布莱迪 英国 生气蓬勃的;宽广的岛屿Brandon 布兰登 英国 来自发亮的山区Brian 布莱恩 塞尔特和盖尔 有权势的领袖;出生高贵Broderick 布拉得里克 斯堪的那维亚 著名的国王Brook 布鲁克 英国 傍溪而居之人Bruce 布鲁斯 法国 一座森林Bruno 布鲁诺 义大利 褐色的或黑色的肤色Buck 巴克 英国 雄鹿Burgess 伯骑士 英国 自由的人Burke 巴尔克 法国 住在城堡要塞的人Burnell 布尼尔 法国 身材矮小者Burton 波顿 英国 山丘上的小镇Byron 拜伦 英国 乡下房舍,喜爱大自然景物者 (有名的诗人)Caesar 凯撒 拉丁 皇帝 (没好结果的罗马霸主)Calvin 卡尔文 拉丁 秃头的 (名牌喔)Carey 凯里 威尔斯 住在古堡里的人Carl 卡尔 德国 伟大的人Carr 凯尔 挪威 住在沼泽的人Carter 卡特 英国 架马车的人Cash 凯希 拉丁 爱慕虚荣者,现金Cecil 塞西尔 拉丁 视力朦胧的Cedric 赛得里克 塞尔特 战争统帅;慷慨的Chad 查德 英国 有经验的战士Channing 强尼 法国 牧师Chapman 契布曼 英国 商人;小贩Charles 查理斯 拉丁-条顿 强壮的,男性的,高贵心灵,强健的Chasel 夏佐 古法国 猎人Chester 贾斯特 罗马 小镇Christ 克莱斯特 希伯来 基督Christian 克里斯汀 希腊 基督的追随者,信徒Christopher 克里斯多夫 希腊 基督的信差或仆人,表基督徒之意Clare 克拉尔 拉丁 头脑清楚的Clarence 克拉伦斯 拉丁 头脑清楚的;聪明的;著名的Clark 克拉克 拉丁和英国 一位学者Claude 克劳德 拉丁 跛脚者Clement 克雷孟特 拉丁 和善和,仁慈的人Cleveland 克利夫兰 英国 来自岩区的人Cliff 柯利弗 英国 来自陡峭的山区之人Clyde 克莱得 威尔斯 在很远的地方就听得到Colbert 考伯特 英国 船员Colby 考尔比 挪威 来自黑暗地区的人Colin 科林 盖尔 小孩或婴儿Conrad 康拉德 条顿 援助者,智慧;指导的人Corey 康里 苏格兰 居住在湖边的人Cornelius 康那理惟士 拉丁 太阳之角;王权象徵Cornell 康奈尔 法国 金黄色头发的人Curitis 柯帝士 法国 有礼貌的Cyril 西瑞尔 希腊 贵族的Dana 戴纳 英国 如阳光般纯洁、光耀Daniel 丹尼尔 希伯来 上帝是我的仲判人 (凯蒂喵的男友)Darcy 达尔西 法国 指来自大城堡的人,黑人Darnell 达尼尔 希伯来 上帝是我的仲判人Darren 达伦 爱尔兰 有成大事业的潜力之人Dave 迪夫 希伯来 所爱的人David 大卫 希伯来 所爱的人Dean 迪恩 英国 山谷;学校的领导者;教堂的领导者Dempsey 邓普斯 盖尔 骄傲而有力的人Dennis 丹尼斯 希腊 希腊的酒神 (别翻成等你死喔)Derrick 戴里克 德国 民族的统治者Devin 得文 爱尔兰 指诗人或学者Dick 狄克 德国 勇猛的,大胆的 (其实有另一种涵义...)Dominic 多明尼克 拉丁 属於上帝的Don 唐 塞尔特 世界领袖Donahue 唐纳修 爱尔兰 红褐色的战士Donald 唐纳德 塞尔特 世界领袖;酋长Douglas 道格拉斯 盖尔 来自黑海的人;深灰色Drew 杜鲁 威尔斯 聪慧与诚实的人Duke 杜克 拉丁 公爵;领导者Duncan 邓肯 盖尔 褐色的战士;晒得黑黑的战士Dunn 唐恩 英国 指黑色皮肤的人Dwight 德维特 条顿 白种人或金发碧眼的人Dylan 狄伦 威尔斯 海洋;波浪之神 米迦列:Michelle、Michaela、Mica 嘉百列:Gabrielle、Gabriella 拉法尔:Rafael、Raffaella 我最喜欢的名字: 能量天使——Cassiel(卡西欧) 其他女子英文名: 狼王——Ulrica(优利卡) 杀手——Quella(瑰拉) 朦胧——Cecilia(赛茜莉雅) 柔——Claudia(克洛迪雅) 辛——Desdemona(荻思梦娜) 帝释天——Indira(英帝拉) 无子——Izefia(义哲法) 武圣——Louise(露易斯) 黛妮——Danae,含义既然是黄金像下雨一样从天上掉下来。这个名字实在太灵了!!大家认为呢? 春华——Chloe(克洛哀) 幸——Felicia(菲莉茜雅) 安——An 白雪——Snow(丝诺) 冰——Ice(爱丝) 月亮——Celina(赛莉娜) 月之子——Amaris(爱玛黎丝) 朦胧——Sicily(茜丝莉) 朦胧——Cecile(赛西尔) 天使——Angelina(安洁莉娜) 炽天使——Sera(赛拉) 炽天使——Serafina(撒拉佛娜) 樱——Sakura(莎珂拉) 洁——Karida(卡丽妲) 洁——Elina(艾莉娜) 羽翼——Aletta(爱莱塔) 真白——Blanche(白蓝雪) 真白——Fiona(斐奥娜) 雪兰——Elodie(伊洛蒂) 玫瑰泪——Dolores(多洛莉丝) 哀——Delores(德洛莉丝) 柔——Claudia(可洛迪雅) 莫愁——Deirdre(迪德黎) 辛——Desdemona(荻丝梦娜) 雨夜——Amaya(哀弥夜) 孤挺花——Amaryllis(爱玛莉莉丝) 秋牡丹——Anemone(爱妮梦) 美神——Cytheria(茜赛莉雅) 天后——Gina(姬娜) 花仙子——Laraine(莱蕾) 圣女帝——Dione(帝傲霓) 米迦列天使——Michelle(蜜雪儿) 米迦列天使——Michaela(米迦列拉) 六月天使——Muriel(穆利尔) 夜妖——Lilith(莉丽丝) 春娘——Ishtar(伊旭塔) 春娘——Easter(伊丝塔) 河妖——Lorelei(洛勒莱) 妖姬——Delilah(迪丽拉) 暗之花——Melantha(魅兰莎) 公主——Sade(萨德) (注:为莎拉的昵称。1740~1814,法国有一位男作家也叫萨德。其作品充满了性变态。因此之后从他的名字引申出施虐狂(sadist)一词。而sade一词似乎也有施虐狂的意思。) 紫水晶——Amethyst(瑷玫夕丝) 光明——Kira(姬拉):语源—拉丁语 洁——Karida(卡丽妲) 语源:阿拉伯语 含义:纯洁 中文名:洁 贵地(皇家城堡的牧地)Kimberly(金铂利):语源—英语 君主(难以匹敌的)——Kimi(姬魅):语源—日语 太阳情人——Kyrene(姬怜) 含义:太阳神的情人(Cyrene的异体) 中文名:太阳情人 能量天使——Cassiel(卡西欧) 语源:拉丁语 含义:能量天使、星期六的天使 代表人物:能量天使卡西欧 中文名:能量天使 宇宙——Cosima(克斯玛) 语源:希腊语 含义:宇宙、协调 中文名:宇宙 聪慧(仙后座)——Cassiopeia(卡茜欧琵雅) 三叶草——Clover(克洛娃) 含义:三叶草(三叶草的花语是幸福。而且据说找到四片叶子的三叶草就能得到幸福) 代表人物:Clamp的一本漫画。 中文名:三叶草 青绿——Cyan(诗安) 贵宾——Aida(阿伊达) 翠玉——Esme(爱丝魅) 娜娜——Nana(巴比仑女神) 恋——Jo(姣) 贝贝——Bebe 光明——Kira(姬拉) 天——Skye(丝珂) 安——An 蓝天——Ciel(希尔) 咪咪——Mimi(Sea of Bitterness) 持矛帝王——Geri(婕丽) 技芸——Muse(缪斯) 微小——Demi(黛米) 银月——Luna(露娜)、Lumina(露米娜) 男女通用: 沙——Sandy(沙狄) 尘——Ash(艾什) 天使——Angel(安琪尔) 以汉语、日语、汉语为语源的MM英文名 汉语: 若兰——Ah-lam(阿拉姆) 德——De 日语: 雨夜——Amaya(哀弥夜) 宫——Miya(魅雅) 霸王——airica(爱利卡)、Erika、Ericka(艾利卡) 明君——Frederica(法兰利卡) 仁君——Derica(德利卡) 武帝——Kimi(姬魅) 女帝——Queenie(贵妮) 圣女帝——Dione(帝傲霓) 后——Regina(瑞姬娜) 天后——Juno(朱诺)、Gina(姬娜) 似乎天使的名字会给人以大家闺秀的印象,但同时似乎也会让人觉得娇惯任浴?br>书记员——Dabria(黛柏丽雅) Dabria似乎是被上帝选为抄写**的天使。个人认为这个名字很适合秘书。 米迦列——Michelle 嘉百列——Gabrielle 亚列——Ariel 卡西欧(查德西尔)——Cassiel 爱莱拉——Arella 穆利尔——Muriel 在外国“小洁”这个名字似乎是很时髦的。以下为“小洁”的各种形式 ·Kathy、Kathie凯茜 含义:⒈Cathy的异体 ⒉Katherine与Katelyn的呢称 印象:Kathy被看做是黑发的小女人,文静、温和又善良。 中文名:洁 ·Kate凯特 语源:希腊语 含义:Katherine的呢称 印象:Kate这个名字令人联想到可爱外向、精力充沛、脚踏实地的女子。 中文名:洁 ·Kay、Kaye凯 ⒈语源:希腊语 含义:纯洁(Katherine的呢称) ⒉语源:英语 含义:欣喜 印象:有人认为Kay是个时髦女郎。表面友善甜美,私底下擅于算计且冷酷。 中文名:欣喜 ·Kitty凯迪 ⒈含义:猫咪、小猫 ⒉语源:希腊语 含义:纯洁(Katherine的呢称) 印象:当人们听到Kitty这个名字时,所想到的是可爱的红发女孩。性感、爱玩且坚强。 代表人物:凯迪猫——Hello·Kitty 中文名:咪咪 ·Katharina凯瑟琳娜 含义:Katherine的异体 中文名:洁 ·Kat咖特 含义:Katherine的异体 中文名:洁 ·Kaethe姬斯 语源:巴斯克语 含义:纯洁 中文名:洁 ·Karen卡伦 含义:Katherine的丹麦型式。 印象:人们认为Karen是个平凡的棕发女子。独立风趣,是个可以深交的朋友。 中文名:洁 ·Kara凯拉 语源:希腊语 含义:纯洁 中文名:洁 ·Karina卡莱娜 语源:俄语(Karen的俄语形式) 含义:纯洁 中文名:洁 ·Kassia卡希雅 语源:希腊语 含义:纯洁 中文名:洁 ·Katelyn凯特琳 语源:希腊语 含义:宛若泉水般清澈的女子(Katherine与Lynn的结合体) 中文名:洁漪 ·Kayla凯勒 语源:希腊语 含义:纯洁 中文名:洁 Cayla ·Kaylana凯拉娜 含义:流浪的少女或流浪的喜悦(Kay与Lana的结合体) 中文名:流浪少女 ·Kaylee凯莉 语源:希腊语 含义:圣域或给于喜悦的批护所(Kay与Lee的结合体) 中文名:圣域 ·Kaysa凯萨 语源:Scandinavian 含义:纯洁 中文名:洁 以下是我自创的: Joerica(娇丽卡):含义:霸王情人(Jo of Eric)、情圣。 黑百合——Mesue(魅瑟) 百合女王——Lirica、Lirika(莉莉卡)
2023-06-19 11:10:094

EmmaFloria是哪里人

EmmaFloriaEmmaFloria是一名演员,代表作品有《洞熊家族》、《情书》等。外文名:EmmaFloria职业:演员代表作品:洞熊家族合作人物:达丽尔·汉纳,PamelaReed
2023-06-19 11:10:111

BenoitGuerin人物介绍

BenoitGuerinBenoitGuerin是一名演员,主要作品有《疾速王后》。外文名:BenoitGuerin职业:演员代表作品:《疾速王后》合作人物:AlexisDurand-Brault
2023-06-19 11:10:141

结尾是tria的英文名 女

Patricia n.帕特丽夏(女孩名字或姓) 这是英国地道的名字,希望你喜欢。
2023-06-19 11:10:181

LaurenceBenoit是做什么的

LaurenceBenoitLaurenceBenoit,服装设计,主要作品《30°的颜色》、《记忆角落》、《第一天》。外文名:LaurenceBenoit职业:服装设计代表作品:《30°的颜色》合作人物:LucienJean-Baptiste
2023-06-19 11:09:311

华为MA5616的产品特点

接入密度高:最大支持256路POTS用户,或128路ADSL2+用户,或192路VDSL2,或64路FE用户。采用COMBO板可同时提供128路POTS+128路ADSL2+; 业务灵活配比:支持各种业务板任意混插,各种端口数量配比灵活,提高实装率,满足不同的客户需求; 支持COMBO板(4GE+4FE),可有效提高接入密度,节省机房空间,并减少线缆走线复杂度; 支持P2P光接入板,可为高价值客户提供大带宽接入; 支持48V蓄电池备电,既支持铅酸蓄电池,又支持铁锂蓄电池; 可运营的IPTV业务:强大的业务交换容量、系统包转发率以及高集成度(数据交换和用户管理),使其具有了电信级的组播运营能力; 完善的语音特性:支持语音业务、传真业务和Modem业务等基本业务,三方通话、呼叫等待、呼叫转移、主叫号码显示、主叫号码限制等补充业务; 即插即用的业务发放模式:支持远程配置下发,设备上电注册成功之后即可建立管理通道和业务通道,无需人工现场配置,即插即用; 高效的管理维护模式:支持免现场软调、远程验收、远程升级打补丁、远程故障定位等多种高效的管理维护方法; 可靠性高:可工作于最低-40℃或者最高65℃工作温度,6KV的高防雷能力,降低雷击故障率;单板防腐蚀设计,延长设备使用寿命; 周密的安全措施:适应电信业务的安全性要求,对安全性方面的协议进行了深入研究和应用,充分保障系统安全和用户接入安全; 绿色节能:选用高效能电源,降低系统能耗;风扇智能调速,有效降低闲时能耗;采用高性能套片,降低芯片能耗;支持POTS短环路设计,有效降低短距离下端口功耗; 面向未来的架构设计:未来根据运营商的组网和业务需求,可以提供相应的线路板卡来解决,系统不做其它改动,快速响应。 MA5616产品特性: 特性CCUB主控板CCUC主控板  GPON特性遵循ITU G.984系列标准 遵循ITU G.984系列标准T-CONT的数量:8个 T-CONT的数量:32个GEM Port的数量:128个 GEM Port的数量:1000个EPON特性满足IEEE802.3ah标准,满足CTC2.1标准 满足IEEE802.3ah标准,满足CTC2.1标准 支持动态带宽分配(DBA)支持动态带宽分配(DBA)宽带特性VLAN数量:4K,支持QinQ 和Stacking VLANVLAN数量:4K,支持QinQ 和Stacking VLANMAC地址数量:4K,支持VMAC功能MAC地址数量:4K,支持VMAC功能支持VLAN切换支持VLAN切换支持PPPOA转PPPOE,支持IPOA转IPOE支持PPPOA转PPPOE,支持IPOA转IPOE支持802.1p,支持PQ与WRR流控,支持ACL支持802.1p,支持PQ与WRR流控,支持ACL语音特性支持SIP,支持H.248支持SIP,支持H.248支持ISDN BRA接口支持ISDN BRA接口支持POTS短环路设计,有效降低功耗支持POTS短环路设计,有效降低功耗ADSL2+特性满足G992.1~G992.5、T1.413标准满足G992.1~G992.5、T1.413标准支持Annex M支持Annex M支持ADSL2+ bonding(2/4/6/8线对)支持ADSL2+ bonding(2/4/6/8线对)VDSL2特性满足G993.2标准满足G993.2标准支持8a/8b/8c/8d/12a/12b/17a/30a支持8a/8b/8c/8d/12a/12b/17a/30a支持2线对VDSL2 bonding支持2线对VDSL2 bondingSHDSL特性满足G991.2标准满足G991.2标准支持G.SHDSL.Bis,支持ATM/PTM模式支持G.SHDSL.Bis,支持ATM/PTM模式支持EFM bonding(2/4/6/8线对)支持EFM bonding(2/4/6/8线对)组播特性支持IGMP V2/V3支持IGMP V2/V3支持IGMP Proxy和Snooping支持IGMP Proxy和Snooping系统可配的组播节目数:1024支持组播用户数量:256 每用户最大并发组播数量:16系统可配的组播节目数:1024支持组播用户数量:256每用户最大并发组播数量:16 安全特性支持PPPoE+和DHCP Option82支持PPPoE+和DHCP Option82支持MAC地址静态及动态绑定支持MAC地址静态及动态绑定支持防御MAC/IP Spoofing,支持源MAC/IP过滤支持防御MAC/IP Spoofing,支持源MAC/IP过滤支持防DOS攻击,支持防火墙功能支持防DOS攻击,支持防火墙功能维护管理特性支持SNMP v1/v2/v3支持SNMP v1/v2/v3支持Telnet,支持SSHv2支持Telnet,支持SSHv2支持远程批量预部署功能支持远程批量预部署功能支持远程升级和远程监控支持远程升级和远程监控   MA5616控制及业务处理板描述 简称 全称 功能简介 CCUB 中央控制单元板 主要完成上行业务汇聚,设备管理及对各个接口模块的业务管理等功能。支持热插拔。 业务板描述   简称 全称 功能简介   ASRB 32路窄带用户板 支持VoIP业务,提供POTS用户接入。支持热插拔。   ASPB 64路窄带用户板 支持VoIP业务,提供POTS用户接入。支持热插拔。   DSLD 8路ISDN业务板 支持8路ISDN接入,4路ISDN接口可以接1个基站,1块DSLD可以接2个基站。支持热插拔。   ADLE 32路ADSL2+业务板 支持32路ADSL2+ over POTS接入,内置分离器。支持热插拔。   VDGE 16路VDSL2 over POTS业务板 支持16路VDSL2 over POTS接入,支持线路保护和外部抓线功能,支持30a模板,带继电器支持MELT测试。支持热插拔。   VDSH 24路VDSL2 over POTS业务板 支持24路VDSL2 over POTS接入,支持线路保护和外部抓线功能,支持17a模板,不支持30a模板。支持热插拔。   VDTH 24路VDSL2 over ISDN业务板 支持24路VDSL2 over ISDN接入,支持线路保护和外部抓线功能,支持17a模板,不支持30a模板。支持热插拔。   VDSE 24路VDSL2 over POTS业务板 支持24路VDSL2 over POTS接入,内置分离器,支持17a模板,不支持30a模板。支持热插拔。   SHLH 16路SHDSL业务板 支持16路SHDSL接入,支持线路保护和外部抓线功能。支持热插拔。
2023-06-19 11:09:291

BenoitSt-Hilaire人物简介

BenoitSt-Hilaire外文名:BenoitSt-Hilaire职业:演员代表作品:《哇喔》合作人物:MichelBerthiaume电视剧作品
2023-06-19 11:09:241

Android 重学系列 ion驱动源码浅析

上一篇文章,在解析初始化GraphicBuffer中,遇到一个ion驱动,对图元进行管理。首先看看ion是怎么使用的: 我们按照这个流程分析ion的源码。 如果对ion使用感兴趣,可以去这篇文章下面看 https://blog.csdn.net/hexiaolong2009/article/details/102596744 本文基于Android的Linux内核版本3.1.8 遇到什么问题欢迎来本文讨论 https://www.jianshu.com/p/5fe57566691f 什么是ion?如果是音视频,Camera的工程师会对这个驱动比较熟悉。最早的GPU和其他驱动协作申请一块内存进行绘制是使用比较粗暴的共享内存。在Android系统中使用的是匿名内存。最早由三星实现了一个Display和Camera共享内存的问题,曾经在Linux社区掀起过一段时间。之后各路大牛不断的改进之下,就成为了dma_buf驱动。并在 Linux-3.3 主线版本合入主线。现在已经广泛的运用到各大多媒体开发中。 首先介绍dma_buf的2个角色,importer和exporter。importer是dma_buf驱动中的图元消费者,exporter是dma_buf驱动中的图元生产者。 这里借用大佬的图片: ion是基于dma_buf设计完成的。经过阅读源码,其实不少思路和Android的匿名内存有点相似。阅读本文之前就算不知道dma_buf的设计思想也没关系,我不会仔细到每一行,我会注重其在gralloc服务中的申请流程,看看ion是如何管理共享内存,为什么要抛弃ashmem。 我们先来看看ion的file_operation: 只有一个open和ioctl函数。但是没有mmap映射。因此mmap映射的时候一定其他对象在工作。 我们关注显卡英伟达的初始化模块。 文件:/ drivers / staging / android / ion / tegra / tegra_ion.c module_platform_driver实际上就是我之前经常提到过的module_init的一个宏,多了一个register注册到对应名字的平台中的步骤。在这里面注册了一个probe方法指针,probe指向的tegra_ion_probe是加载内核模块注册的时候调用。 先来看看对应的结构体: 再来看看对应ion内的堆结构体: 完成的事情如下几个步骤: 我们不关注debug模式。其实整个就是我们分析了很多次的方法。把这个对象注册miscdevice中。等到insmod就会把整个整个内核模块从dev_t的map中关联出来。 我们来看看这个驱动结构体: 文件:/ drivers / staging / android / ion / ion_heap.c 这里有四个不同堆会申请出来,我们主要来看看默认的ION_HEAP_TYPE_SYSTEM对应的heap流程。 其实真正象征ion的内存堆是下面这个结构体 不管原来的那个heap,会新建3个ion_system_heap,分别order为8,4,0,大于4为大内存。意思就是这个heap中持有一个ion_page_pool 页资源池子,里面只有对应order的2的次幂,内存块。其实就和伙伴系统有点相似。 还会设置flag为ION_HEAP_FLAG_DEFER_FREE,这个标志位后面会用到。 文件:/ drivers / staging / android / ion / ion_page_pool.c 在pool中分为2个链表一个是high_items,另一个是low_items。他们之间的区分在此时就是以2为底4的次幂为分界线。 文件:/ drivers / staging / android / ion / ion.c 因为打开了标志位ION_HEAP_FLAG_DEFER_FREE和heap存在shrink方法。因此会初始化两个回收函数。 文件:/ drivers / staging / android / ion / ion_heap.c 此时会创建一个内核线程,调用ion_heap_deferred_free内核不断的循环处理。不过由于这个线程设置的是SCHED_IDLE,这是最低等级的时间片轮转抢占。和Handler那个adle一样的处理规则,就是闲时处理。 在这个循环中,不断的循环销毁处理heap的free_list里面已经没有用的ion_buffer缓冲对象。 文件:/ drivers / staging / android / ion / ion_system_heap.c 注册了heap的销毁内存的方法。当系统需要销毁页的时候,就会调用通过register_shrinker注册进来的函数。 文件:/ drivers / staging / android / ion / ion_page_pool.c 整个流程很简单,其实就是遍历循环需要销毁的页面数量,接着如果是8的次幂就是移除high_items中的page缓存。4和0则销毁low_items中的page缓存。至于为什么是2的次幂其实很简单,为了销毁和申请简单。__free_pages能够整页的销毁。 文件:/ drivers / staging / android / ion / ion.c 主要就是初始化ion_client各个参数,最后把ion_client插入到ion_device的clients。来看看ion_client结构体: 核心还是调用ion_alloc申请一个ion缓冲区的句柄。最后把数据拷贝会用户空间。 这个实际上就是找到最小能承载的大小,去申请内存。如果8kb申请内存,就会拆分积分在0-4kb,4kb-16kb,16kb-128kb区间找。刚好dma也是在128kb之内才能申请。超过这个数字就禁止申请。8kb就会拆成2个4kb保存在第一个pool中。 最后所有的申请的page都添加到pages集合中。 文件:/ drivers / staging / android / ion / ion_page_pool.c 能看到此时会从 ion_page_pool冲取出对应大小区域的空闲页返回上层,如果最早的时候没有则会调用ion_page_pool_alloc_pages申请一个新的page。由于引用最终来自ion_page_pool中,因此之后申请之后还是在ion_page_pool中。 这里的处理就是为了避免DMA直接内存造成的缓存差异(一般的申请,默认会带一个DMA标志位)。换句话说,是否打开cache其实就是,关闭了则使用pool的cache,打开了则不使用pool缓存,只依赖DMA的缓存。 我们可以看另一个dma的heap,它是怎么做到dma内存的一致性. 文件: drivers / staging / android / ion / ion_cma_heap.c 能看到它为了能办到dma缓存的一致性,使用了dma_alloc_coherent创建了一个所有强制同步的地址,也就是没有DMA缓存的地址。 这里出现了几个新的结构体,sg_table和scatterlist 文件:/ lib / scatterlist.c 这里面实际上做的事情就是一件:初始化sg_table. sg_table中有一个核心的对象scatterlist链表。如果pages申请的对象数量<PAGE_SIZE/sizeof(scatterlist),每一项sg_table只有一个scatterlist。但是超出这个数字就会增加一个scatterlist。 用公式来说: 换句话说,每一次生成scatterlist的链表就会直接尽可能占满一页,让内存更好管理。 返回了sg_table。 初始化ion_handle,并且记录对应的ion_client是当前打开文件的进程,并且设置ion_buffer到handle中。使得句柄能够和buffer关联起来。 每当ion_buffer需要销毁,
2023-06-19 11:09:201

BenoitDidier主要经历

BenoitDidierBenoitDidier,主要作品《太阳底下》。外文名:BenoitDidier职业:演员代表作品:《太阳底下》合作人物:EricSummer电视剧作品
2023-06-19 11:09:181

翻译并填空符合题意就行了

sad;overcome;work; feeling;live;after;about
2023-06-19 11:09:132

芙罗兰产品质量怎么样?

法国牌子???呵呵。。法国人知道吗??都是广州货,你懂吗?牌子是商标注册的。你晓得吗?呵呵。。10毫升,就一百大洋。。呵呵。。黄金现在才300元以内了。。都。。
2023-06-19 11:09:112

好听的宠物英文名

cloris是古希腊神话里花的女神,指盛开的花朵。 brinkley是这个名字的代表人物,可爱,年轻,善良的金发女孩,风趣并受欢迎。 connie是constance的简写,在人们心目中的constance有两种:体态优美,娇小美丽的女人,活泼,有点糊涂且受欢迎或是高挑勤奋的保守女子。 daisy (老式英语)"雏菊"。森林来的"金发女孩",甜美可爱。 ella (古式英语),"小淘气,美丽的女子"。人们说ella是高大,魁梧的女黑人-一个保守的祖母,快乐,讨喜,友善。 francis(拉丁)"自由,来自法国;francis的女性名。大部份的人认为francis是个纤弱保守的女子,善良,可爱但沉稳。 judy为judith的简写。 judy被视为喜欢捉弄人的小精灵,骄小,可爱,非常和善。katrina纯洁的意思。 laura拉丁名,意为『海湾之树』。事实上是lawrence的女性形式。人们说laura是美丽的金发蓝眸女子,古典气质,性格甜美。 tracy(爱尔兰)作战者;(拉丁)有勇气的,resa的简称。tracy被描绘为可爱喜欢运动的有著卷曲金发女人,有自信的掌事者,喜欢寻找乐趣,有良好的教养个性温和。 vivian源为拉丁字vivianus,意为有活力的。充满活力?可不是吗!人们说vivian是活力四射,有教养,风趣,友善,又好动
2023-06-19 11:09:112

Floria这个英文名怎么样?

its a good name. not many people have it. meaning is nice too, blossoming flower. another good name i like is Noelle, its french, meaning christmas.
2023-06-19 11:08:571

安东尼·蒂诺佐的人物小传

家世:Tony生于1968年,是纽约长岛一个富裕家庭的独子,却无心继承家里的财产。他的母亲在他八岁时去世,而他的父亲安东尼 迪诺佐 一世则沾花惹草麻烦不断。学历及工作经历:Tony在少年时期进入罗德岛军校就读,并且在俄亥俄州州立大学取得了艺术及体育学士学位,在大学时期是大学生篮球代表队成员。他是大学兄弟会的成员,并且至今都和同学们保持着很好的关系。在child play里面,他提到过他的SAT分数是950分。他曾在皮若亚、费城、巴尔的摩警察局分别工作过两年,他在巴尔的摩工作时认识了Gibbs并且接受了NCIS的工作邀请。在NCIS工作时,Tony接受了Jenny交给他的任务而卧底与军火商Rene Benoit的女儿交往,Jenny去世后tony被调往罗纳德里根号航空母舰,在调遣命令到期后,他才回到NCIS总部。
2023-06-19 11:08:541

西索是谁啊

变态《猎人》里的大变态~~~~
2023-06-19 11:08:497