首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

雷军1994年写的诗一样的代码,我把它运行起来了!

这是一段古董代码了,因为在1994年,当时我的一个老师也是做汇编项目,他跟我聊过的故事是,当时是他跟一个前辈一起去现场给客户看故障,调试,用的ARM汇编,当时前辈是赚了2w,他赚到了6k的样子。...那么回过头来,我们看下雷军当时写的代码,因为是汇编语言,看了下大致就是MASM,于是我上网找出MASM32plus工具,但是编译的结果是报错,爆出很多不识别的指令。...那么我再继续查找,这段代码跟我之前写的C51的写法差不多,我找了相关的一个编译工具,emu8086,这个工具是识别这段汇编的,但是有个报错是,重定义。...那么我们装一个虚拟机,我这里用的Vbox,我电脑装VM12装xp系统就会卡死,于是我用了Vbox安装了雨林木风的GHOST,最终把工具放到里面,运行成功。以下是运行的效果,编译过程。 ?...最后分享个学习方法,在使用一个工具的时候,可以去看看它的官方文档,以及工具中的文件夹,幸运的是,TASM安装包有EXAMPLES,打开可以去看看一些实例,学习,编译。

1.8K40

雷军1994年写的诗一样的代码,我把它运行起来了!

这是一段古董代码了,因为在1994年,当时我的一个老师也是做汇编项目,他跟我聊过的故事是,当时是他跟一个前辈一起去现场给客户看故障,调试,用的ARM汇编,当时前辈是赚了2w,他赚到了6k的样子。...那么回过头来,我们看下雷军当时写的代码,因为是汇编语言,看了下大致就是MASM,于是我上网找出MASM32plus工具,但是编译的结果是报错,爆出很多不识别的指令。...那么我再继续查找,这段代码跟我之前写的C51的写法差不多,我找了相关的一个编译工具,emu8086,这个工具是识别这段汇编的,但是有个报错是,重定义。...那么我们装一个虚拟机,我这里用的Vbox,我电脑装VM12装xp系统就会卡死,于是我用了Vbox安装了雨林木风的GHOST,最终把工具放到里面,运行成功。以下是运行的效果,编译过程。 ?...最后分享个学习方法,在使用一个工具的时候,可以去看看它的官方文档,以及工具中的文件夹,幸运的是,TASM安装包有EXAMPLES,打开可以去看看一些实例,学习,编译。

71740
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    打造精致的 Windows 终端

    它包含 Windows 命令行社区最常请求的许多功能,包括对选项卡,富文本,全球化,可配置性,主题和样式等的支持。...其实最开始我想用的是 Fluent Terminal ,当我完成一切却发现了 bug,当我在设置页面点击终端时就会卡死,没有找到相应解决方法。...打开 Windows Terminal,依次运行 Install-Module DirColors -Scope CurrentUser Install-Module posh-git -Scope...比如我的 C:\Users\用户名\Documents\WindowsPowerShell\,在这个文件夹下新建Microsoft.PowerShell_profile.ps1,并写入如下代码: Import-Module...解决字体乱码 在配置某些主题之后,会出现文字乱码的情况,因此需要修改字体,详情见修改字体 最后提一句,如果你使用 VSCode,会发现终端变成了这个样子 图片 主要还是字体的问题,在设置字体的地方加上我们刚才自定义的字体即可正常显示

    1.7K20

    一文聊完前端项目中的Babel配置

    @babel/runtime 和 @babel/preset-env 的关系 @babel/runtime 是一个运行时的模块化库,当我们使用 @babel/preset-env 转译代码时。...当然是使用 helpers 属性,它的默认值是 true。 当我们开启 helpers: true 时,结合 preset-env 选项。它会将我们一些重复的转译语法变成运行时注入。...反之,再来看看相同的代码当我们设置为 regenerator: true 时它的体现: "use strict"; var _interopRequireDefault = require("@babel...我说点人话,针对于新版本(7.18.0)以上如果我的代码是这么写的: function* sayhello() {} 配置文件是这样的: module.exports = (api) => { api.cache.never...浏览器 Target 当我们使用 preset-env 时,它支持一个额外的配置名为 targets 配置,它表示源代码需要兼容的浏览器列表。

    1.6K10

    【Vue】webpack的基本使用

    主要功能:它提供了友好的前端模块化开发支持,以及代码压缩混淆,处理浏览器端JavaScript的兼容性性能优化等强大的功能。...3、require是运行运行时加载模块里的所有方法(动态加载), import 是编译的时候调用(静态加载),不管在哪里引用都会提升到代码顶部。...注意:webpack-dev-server会启动一个实时打包的http服务器。 这样当我们每次修改index.js文件时,保存后就会自动打包,摁两次ctrl+c就可以终止运行。...这种打包实际上时虚拟打包,并不是每次保存打包之后将main.js进行了修改,当我们修改代码保存自动打包之后,我们发现页面UI并没有变化,那是因为main.js实际上没有修改,访问自动打包修改后的页面需要访问本地...html-webpack-plugin 当我们开启了自动打包服务功能,访问服务器后,显示的是根目录,需要点击一下文件夹,才能显示页面文件index.html,我们只需要把页面文件copy一份儿到根目录

    65610

    【webpack】webpack-dev-server生猛上手——让我们来搭一个webpack的微服务器吧!

    [前言]:因为最近在搞****API的时候用到了webpack的externals,才发现我之前都只是用webpack做一些搭建完项目后的“收尾工作”——即打包,而没有把它纳入到项目开发的“主体过程”中来.../bundle.js"> 当我们在终端运行“webpack”命令后,目录变为: ? 一张图复习一下webpack的机制: ?...(注意下面两张图的区别) webpack:当我们在终端运行"webpack"后: ?...webpack-dev-server:当我们在终端运行"node_modules/.bin/webpack-dev-server后: ?...的自动刷新和模块热替换机制 这两个机制是紧紧联系在一起的 从外部角度看——自动刷新 当我们对业务代码做了一些修改然后保存后(command+s),页面会自动刷新,我们所做的修改会直接同步到页面上,而不需要我们刷新页面

    2.4K70

    Nest项目部署的最佳方式

    前言 前一阵子搞了个nest项目,当我开发完一个功能,打算部署到服务器进行测试时,发现它跑不起来,报了一大堆错缺少了很多依赖包。...image-20220217230347949 当我在服务器上运行时,我傻眼了,程序报错跑不起来,这玩意儿不经夸啊。...皇天不负有心人,当我在查阅nest-cli源码的打包模块时,在@nestjs/cli/actions/build.action.js文件中发现了它有个配置变量webpack。...image-20220218004354633 ❝小tips:在服务器上运行node项目时,通常会使用pm2来执行。对此感兴趣的开发者,请自行了解。...示例代码 本文中所列举的完整代码请移步: webpack.config.js[3] package.json[4] 写在最后 至此,文章就分享完毕了。 我是神奇的程序员,一位前端开发工程师。

    6.2K51

    如何使用webpack减少vuejs打包的大小

    当我们现在运行构建时,我们的捆绑包现在已经下降到2.22MB的大小了。 当你查看图像的moment.js时,你将看到国际化区域设置根本不再被加载。...通过删除moment.js中的语言环境,每当我启动服务器运行我的代码时都会发生错误,该错误代码说它无法找到./locale。...这是我的插件代码现在的样子: 最后一步是告诉webpack使用vuetify-loader插件,以便它只导入我们正在使用的组件。 我将需要的插件添加到插件数组。...这是我的vue.config.js文件: 现在,当我运行生产构建时,我的捆绑包大小为2MB。 减少vue-echarts的大小 Vue-echarts不是我捆绑中最大的项目。...'; 现在,当我运行生产构建时,我的捆绑包大小降至1.28MB。

    1.8K10

    Angular Provider 作用域

    因此当我们在跟模块中配置某个服务后,这个服务将在整个应用程序中可用。需要注意的是在非懒加载的特性模块中,如果我们也注册了同一个服务。在根模块和特性模块中是使用同一个服务实例,即服务是单例的。...以上代码成功运行后,页面的显示结果如下: ? 当点击 “改名” 按钮之后,你会发现名字从 semlinker 变化成 lolo。这表示这两个模块之间是共享同一个 UserService 实例。...此外,当我们导入的两个模块中,共用同一个 Token 来配置 provider, 后面导入的模块将会生效。...懒加载模块 估计有的小伙伴已经注意到了,我们在介绍前面的内容时,有强调非懒加载的特性模块,那么对于懒加载的模块会是什么情况呢?...当在懒加载的模块中使用模块外的服务时,它将使用根注入器创建的服务实例。但如果已经在懒加载模块中注册了 provider,在模块内获取对应的服务时,它将从模块的子注入器中获取对应的服务实例。

    1.8K20

    14、 webpack从0到1-HMR(热模块更新)

    不是去编辑器里面改代码,然后等浏览器refresh这样去看效果;而是直接打开调试着工具,改一下它的颜色就可以看到效果了。...极端一点,现在我要看这个div块的颜色变为黑色的效果,而要让它show前置化操作就需要点击一百次操作,你说你好不容易点了一百次才让这个div块的显示了,结果你改下编辑器里面的代码,浏览器重刷新了,又要来一遍...当然,上面这么多都是我自己的理解,HMR是帮助你提高开发效率的,其实吧,我觉得并没有什么卵用,至少是没有很大的作用吧,可能我业务开发涉及的页面比较菜吧,切图的时候浏览器你爱重刷新就重刷新,只要别跟微信开发者工具一样有时候改了代码却不刷新就行...然后当我们改变代码,再次重新打包编译的时候,会看到有一些xxx.hot-update.js的文件产生,这是前提; ?...当我们的客服端收到这个消息时,hotModuleReplacement.runtime.js里面的方法会开始执行了,他会向服务端ajax发送请求,然后服务端就会把这个包含了更新信息的xxx.hot-update.js

    44720

    【详解】为已安装nginx动态添加模块

    例如,如果你要添加​​ngx_http_geoip_module​​模块,你可以运行​​....最后,我们使用​​get_total_price​​方法计算购物车中商品的总价,并输出结果。由于您没有提供具体的代码片段,我将无法直接对特定的代码进行详细解释。...不过,我可以为您介绍一种通用的方式来详细解释代码。假设我们有以下一个简单的Python代码示例:def greet(name): return "Hello, " + name + "!"...下面是对这段代码的详细解释:定义函数:def greet(name):这一行定义了一个名为​​greet​​的函数,它接受一个参数​​name​​。函数的作用是生成一个问候语。 2....这样,当我们调用这个函数并传入一个名字时,它就会返回一个格式化的问候语。 3.

    22800

    Python基础 | 新手学Python时常见的语法错误和异常

    语法错误又称解析错误,是我们在刚接触学习Python 时最容易遇到的错误,区区别于异常而言,语法错误非程序执行时的逻辑错误; 即使语句或表达式在语法上是正确的,但在尝试执行时,它仍可能会引发错误,而这个在执行时检测到的逻辑错误被称为异常...错误消息的开头部分以堆栈回溯的形式显示发生异常的上下文:通常它会包含列出源代码行的堆栈回溯;但是,它将不会显示从标准输入读取的行。 ?...ImportError:当我们试图引入不存在的库时,并且当 from ... import 中的 "from list" 存在无法找到的名称时 In [16]: from os import x Traceback...:')) ValueError: invalid literal for int() with base 10: 'a' 比如当我们使用int对输入对象进行转化为整数时,输入的对象是字符串时,这是一个不合适的参数...可疑的运行时行为(runtime behavior)的警告 SyntaxWarning 可疑的语法的警告 UserWarning 用户代码生成的警告

    7.1K41

    webpack 中最易混淆的 5 个知识点

    因为是独立打包的,它生成的 utils.bundle.js 属于 chunk 1。...看这个图就很明白了: 对于一份同逻辑的代码,当我们手写下一个一个的文件,它们无论是 ESM 还是 commonJS 或是 AMD,他们都是 module ; 当我们写的 module 源文件传到 webpack...一句话总结: module,chunk 和 bundle 其实就是同一份逻辑代码在不同转换场景下的取了三个名字: 我们直接写出来的是 module,webpack 处理时是 chunk,最后生成浏览器可以直接运行的...eval-source-map eval-source-map 会以 eval() 函数打包运行模块,不产生独立的 map 文件,会显示报错的行列信息: ? ?...3.cheap-module-source-map 一般来说,生产环境是不配 source-map 的,如果想捕捉线上的代码报错,我们可以用这个 写在最后 这篇文章差不多就写到这里了,后面我还会写一些

    1.9K60

    webpack 中比较难懂的几个变量名称

    看这个图就很明白了: 对于一份同逻辑的代码,当我们手写了一个个的文件,它们无论是 ESM 还是 commonJS 或是 AMD,他们都是 module; 当我们写的 module 源文件传到 webpack...一句话总结: module,chunk 和 bundle 其实就是同一份逻辑代码在不同转换场景下的取了三个名字:我们直接写出来的是 module,webpack 处理时是 chunk,最后生成浏览器可以直接运行的..., 'dynamic', 'imports', 'async'], ' '); return element; } // 点击 button 时,懒加载 lodash,在网页上显示 Hello!...chunkhash 因为 hash 是项目构建的哈希值,项目中如果有些变动,hash 一定会变,比如说我改动了 utils.js 的代码,index.js 里的代码虽然没有改变,但是大家都是用的同一份...chunkhash 就是解决这个问题的,它根据不同的入口文件(Entry)进行依赖文件解析、构建对应的 chunk,生成对应的哈希值。

    2.1K10

    【译】如何使用webpack减少vuejs打包的大小

    image.png 当我们现在运行构建时,我们的捆绑包现在已经下降到2.22MB的大小了。 image.png 当你查看图像的moment.js时,你将看到国际化区域设置根本不再被加载。...image.png 通过删除moment.js中的语言环境,每当我启动服务器运行我的代码时都会发生错误,该错误代码说它无法找到./locale。...这是我的插件代码现在的样子: image.png 最后一步是告诉webpack使用vuetify-loader插件,以便它只导入我们正在使用的组件。 我将需要的插件添加到插件数组。...这是我的vue.config.js文件: image.png 现在,当我运行生产构建时,我的捆绑包大小为2MB。...'; 现在,当我运行生产构建时,我的捆绑包大小降至1.28MB。

    4.2K20

    如何安装Python 3.13?使用交互式解释器

    作为几十年来一直使用 Linux 终端的人,这是一个受欢迎的改变。当我完成使用解释器时,我总是会键入 exit,但总是会收到错误提示。...改进的错误消息 坦白地说:当我刚开始学习 Python 时,我不知道在使用文件名时需要小心。例如,我将创建一个使用随机库模块的应用程序,并将文件命名为 random.py。...然后,我尝试运行代码,但只收到一条非常神秘的消息,没有告诉我哪里错了。 我当时并不知道问题出在文件名上。最终我发现了问题,更改了文件名并重新运行了应用程序,没有问题。显然,错误不在代码本身。...让我们来体验一下我们改进的错误消息功能。我们将继续使用我们的 numpy.py 示例。如果我尝试运行该应用程序,我知道我会因为文件名而收到错误消息。...可执行脚本 另一个很酷的功能是能够在 Linux 上使 Python 脚本可执行,而无需使用 python3 运行它。为此,您必须在代码顶部添加以下行: #!

    32610

    Android编程权威指南笔记3:Android Fragment讲解与Android Studio中的依赖关系,如何添加依赖关系

    Android Fragment 当我在学习时,了解了Fragment词汇 Fragment是一种控制器对象,我就把所了解的简单说一下。...这个步骤在以后的代码中,你也可以看到,或者你打过,我这里也打过。 创建一个动态UI:FragmentManager提供了对Activity运行时的Fragment的添加、删除、替换的操作。...在它的核心,它代表一个更大的运行的特定操作或接口Activity。片段与它所处的活动密切相关,不能与之分开使用。...虽然Fragment定义了自己的生命周期,但是该生命周期取决于其活动:如果活动停止,则不能启动其中的碎片; 当活动被破坏时,所有碎片将被破坏。...text size:指定设备上显示的文字像素高度; margin:指定视图组件间的距离; padding:指定视图外边框与内容间的距离。

    1.8K30

    9、webpack从0到1-devServer初探

    讲下解决每次修改文件后需要npm run build重复运行命令打包的问题。...git仓库:webpack-demo 1、问题 每次修改完文件内容要编译代码时,需要重复手动运行npm run build就是件很麻烦的事情。...webpack中有几个不同的选项,可以帮助你在代码发生变化后自动编译代码,我这里主要说下第一、二种,相关内容webpack教程里都有。...当我们把dist目录删除后再执行这个命令,虽然浏览器中自动打开也能正常显示,但是不会有新的dist文件夹生成了,因为这个插件不会显式的重复输出生成dist文件了,而是为了提高效率放到了内存里。...4、小结 这节总的来说目的就是说了下如何来监听文件,让过程自动化,提高我们的开发效率。 初步了解了下devServer这个强大的东西,下节我们进一步的了解它。

    64530
    领券