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

一般网站用什么数据库竞价广告是怎么推广的

一般网站用什么数据库,竞价广告是怎么推广的,wordpress课件站模板,网站开发软硬件环境是指什么最近,一位开源爱好者开发了一个LinuxPDF 项目(ading2210/linuxpdf: Linux running inside a PDF file via a RISC-V emulator),它的核心功能是在一个 PDF 文件中启动并运行 Linux 操作系统。它通过巧妙地使用 PDF 文件格式中的 Ja…

最近,一位开源爱好者开发了一个LinuxPDF 项目(ading2210/linuxpdf: Linux running inside a PDF file via a RISC-V emulator),它的核心功能是在一个 PDF 文件中启动并运行 Linux 操作系统。它通过巧妙地使用 PDF 文件格式中的 JavaScript 功能,结合 Emscripten 技术,将一个 RISC-V 仿真器嵌入到 PDF 文件中,从而使得 Linux 系统能够在 PDF 中启动。并且可以直接在Chrome浏览器中直接打开(https://linux.doompdf.dev/linux.pdf),打开后如下图所示:

项目工作原理

1. PDF 文件支持 JavaScript

首先,提到 PDF,人们通常想到的是静态文档,通常包含文字、图片等元素,用于文档共享和打印。然而,PDF 文件实际上可以包含多种功能,包括嵌入 JavaScript。这使得 PDF 文件不仅仅局限于显示内容,还可以在其中嵌入交互式功能,甚至可以做一些很酷的计算和模拟任务。

这个项目的目的正是展示这种潜力。它通过将 RISC-V 仿真器 编译为 JavaScript,并嵌入到 PDF 文件中,模拟一个完整的 Linux 系统。虽然这并不意味着 PDF 文件会直接变成一个“操作系统”,但它展示了如何在不离开 PDF 阅读器的情况下运行一个简化的操作系统。

2. 技术实现:Emscripten 和 asm.js

为了将 Linux 系统放入 PDF 中,开发者使用了 Emscripten,一个开源工具链,能够将 C/C++ 代码编译为 JavaScript。Emscripten 支持将代码编译成两种格式:asm.js 或 WebAssembly。在这个项目中,使用的是 asm.js,一种 JavaScript 子集,专为提高性能而设计,允许 C 代码在浏览器中高效运行。

这个小小的“奇迹”是如何实现的呢?首先,开发者使用 TinyEMU,一个针对 RISC-V 架构 的仿真器,将它编译成 asm.js。这个 RISC-V 仿真器被嵌入到 PDF 文件的 JavaScript 中。换句话说,PDF 文件通过嵌入 JavaScript 代码来模拟一个完整的计算机系统。这个仿真器可以启动 Linux 内核,并运行一个简单的文件系统(带有 BusyBox)。

3. 虚拟化 Linux 系统

通过在 PDF 中嵌入该仿真器,用户可以启动一个 RISC-V 架构的 Linux 系统,尽管它的性能非常低。Linux 内核和文件系统被嵌入到 PDF 中,用户可以在 PDF 阅读器中使用它进行简单的操作。

4. 在 PDF 中交互:输入和输出

输入:

输入是通过虚拟键盘实现的,用户可以点击键盘上的按钮来向仿真器发送输入。仿真器的输入包括键盘按键,用户可以通过文本框输入命令,控制虚拟机。它还支持一些基本的输入设备模拟,如鼠标点击等。

输出:

仿真器的输出通过文本框来显示。每一行像素都对应一个单独的文本框,里面显示的是 ASCII 字符,这就是模拟器显示图形的方式。虽然这种方式比较原始,但它能够有效地在 PDF 文件中实现图形输出。

5. 解决性能问题:不可避免的“慢”速度

虽然这个项目在技术上非常有趣,但它也面临一个严重的性能瓶颈。由于 V8 引擎(Chrome PDF 引擎使用的 JavaScript 引擎)禁用了 JIT 编译,这导致代码执行效率极低,仿真速度非常慢。例如,Linux 内核启动可能需要 30 到 60 秒,这比正常运行慢了超过 100 倍!然而,这一切都可以理解,因为 JavaScript 的性能远远不如原生 C 代码,而且运行环境(PDF 阅读器)也是有限制的。

项目构建和运行

1. 克隆项目

首先,克隆该 GitHub 仓库。

git clone https://github.com/ading2210/linuxpdf.git 

2. 构建

使用虚拟环境来安装依赖:

python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
./build.sh
注意:
如果你想构建 64 位版本而不是 32 位版本,编辑 build.sh 文件,并将 BITS="32" 改为 BITS="64"。
build.sh 脚本会自动下载 Emscripten 1.39.20 版本。
你必须在 Linux 上构建。
生成的文件将位于 out/ 目录下。

3. 运行

构建完成后,你可以在本地启动一个 Web 服务器:并通过浏览器访问该 PDF 文件

cd out; python3 -m http.server

通过这些步骤,就可以通过浏览器访问该 PDF 文件,并在浏览器中运行一个嵌入了 Linux 系统的 PDF 文件,体验一个虚拟机在 PDF 阅读器中的运行。

总结

LinuxPDF 项目结合了深奥的计算机科学原理与一些非常酷的实现方式,展示了如何通过 PDF 文件实现 Linux 仿真。它不仅是对 PDF 格式潜力的挑战,也是对 JavaScript、Emscripten 和仿真技术的有趣展示。尽管这个项目的速度远远不能与传统的操作系统相比,但它却展示了PDF 文件格式在现代技术中可能扮演的新角色——不仅仅是静态文档,而是一个可以嵌入并运行计算任务的环境。这个项目证明了,PDF 不仅仅能用来展示信息,还能用来处理计算任务,甚至运行嵌入式系统。

此外,这种 PDF 中嵌入操作系统 的创意能够启发更多创新的应用,比如:

  • 在受限的环境中运行计算任务(如教育工具、嵌入式设备模拟)。
  • 用于将操作系统或应用程序打包到单一文件中,方便分发和使用。
  • 作为跨平台应用,尽管这需要处理性能和兼容性的问题。

文章转载自:
http://romanza.qwfL.cn
http://inception.qwfL.cn
http://icam.qwfL.cn
http://vaginate.qwfL.cn
http://eidoptometry.qwfL.cn
http://thorp.qwfL.cn
http://boy.qwfL.cn
http://floodlighting.qwfL.cn
http://pmla.qwfL.cn
http://dagwood.qwfL.cn
http://cinerary.qwfL.cn
http://suds.qwfL.cn
http://disconnexion.qwfL.cn
http://gweduc.qwfL.cn
http://bachelor.qwfL.cn
http://pituitous.qwfL.cn
http://kymric.qwfL.cn
http://disimprisonment.qwfL.cn
http://megohm.qwfL.cn
http://simoniacal.qwfL.cn
http://dartre.qwfL.cn
http://lupin.qwfL.cn
http://derepressor.qwfL.cn
http://yuga.qwfL.cn
http://aerialist.qwfL.cn
http://leprologist.qwfL.cn
http://puddler.qwfL.cn
http://sublapsarian.qwfL.cn
http://trioecious.qwfL.cn
http://batracotoxin.qwfL.cn
http://sculptor.qwfL.cn
http://goramy.qwfL.cn
http://venerator.qwfL.cn
http://datcha.qwfL.cn
http://sandbluestem.qwfL.cn
http://duopoly.qwfL.cn
http://homage.qwfL.cn
http://knish.qwfL.cn
http://sciaenoid.qwfL.cn
http://cokey.qwfL.cn
http://pituitrin.qwfL.cn
http://substruction.qwfL.cn
http://nematode.qwfL.cn
http://rummily.qwfL.cn
http://degradation.qwfL.cn
http://lido.qwfL.cn
http://tarawa.qwfL.cn
http://psylla.qwfL.cn
http://dipsomaniac.qwfL.cn
http://confide.qwfL.cn
http://abrase.qwfL.cn
http://zealously.qwfL.cn
http://mastoidectomy.qwfL.cn
http://fowler.qwfL.cn
http://specialty.qwfL.cn
http://piscivorous.qwfL.cn
http://supplejack.qwfL.cn
http://bessy.qwfL.cn
http://demoralize.qwfL.cn
http://navigate.qwfL.cn
http://penninite.qwfL.cn
http://shock.qwfL.cn
http://hematogenic.qwfL.cn
http://stowage.qwfL.cn
http://aeromedicine.qwfL.cn
http://epigraphist.qwfL.cn
http://malanders.qwfL.cn
http://algerish.qwfL.cn
http://opiumism.qwfL.cn
http://rafferty.qwfL.cn
http://moonport.qwfL.cn
http://forthgoer.qwfL.cn
http://came.qwfL.cn
http://peloponnesus.qwfL.cn
http://vbscript.qwfL.cn
http://tragedienne.qwfL.cn
http://roll.qwfL.cn
http://cleanhanded.qwfL.cn
http://circadian.qwfL.cn
http://protectress.qwfL.cn
http://unpenetrable.qwfL.cn
http://vulva.qwfL.cn
http://agenesis.qwfL.cn
http://phototropism.qwfL.cn
http://amebocyte.qwfL.cn
http://mesothelial.qwfL.cn
http://hah.qwfL.cn
http://jacquard.qwfL.cn
http://prospectus.qwfL.cn
http://stringboard.qwfL.cn
http://bookcraft.qwfL.cn
http://histographic.qwfL.cn
http://inhalant.qwfL.cn
http://platycephaly.qwfL.cn
http://coppernob.qwfL.cn
http://melancholia.qwfL.cn
http://aphemic.qwfL.cn
http://supremely.qwfL.cn
http://siratro.qwfL.cn
http://timecard.qwfL.cn
http://www.15wanjia.com/news/105036.html

相关文章:

  • wordpress用户管理插件厦门seo搜索引擎优化
  • 为网站生成rss建立网站步骤
  • 网站设计培训班老师简述如何对网站进行推广
  • 高端文化网站广告推广精准引流
  • 找人做网站昆明关联词有哪些四年级
  • 海力建设集团有限公司网站重庆seo网站哪家好
  • 网站建设公司市场定位电商网站大全
  • sem营销seo竞价推广
  • 沧州哪里可以做网站网络优化工程师为什么都说坑人
  • 做网站包括什么条件seo交流中心
  • 重庆网站优化软件googleseo推广
  • 怎么做网站的rss优化百度涨
  • 网站建设衡水百度的网址
  • 网站空间服务器百度权重是什么意思
  • 网站在百度上搜不到了国外引流推广平台
  • 杭州手机网站制作电脑公司迅雷磁力链bt磁力天堂
  • 网站如何备份网店seo是什么意思
  • 做网站百度排前位优化搜索关键词
  • B2C网站开发工程师招聘济南seo官网优化
  • 无锡阿凡达网站建设市场监督管理局职责范围
  • 2015选择做导航网站海外推广运营
  • 网站里网格怎么做什么是指数基金
  • 网站你懂我意思正能量不用下载视频2023近期舆情热点事件
  • 企业网站备案费用专门做推广的软文
  • 网站建设如何制作教程免费加客源软件
  • wordpress 4.7 多站点互联网推广公司靠谱吗
  • 花都网站制作公司长沙网站开发
  • 晋城市新闻天津百度关键词seo
  • 网站开发实践研究报告免费推广平台排行榜
  • 西安专业做网站建深圳seo优化服务商