最近开始在学习编译原理。原因是这么多年以来,一直做企业信息应用系统方面的开发。对于开发具体的业务功能当然早就驾轻就熟,不过当想进一步开发相对基础的功能,比如报表,模版或者动态表单什么的,就有点力不从心。但是,以现在行业技术的发展来看,已经不可能再停留在开发业务代码的程度上了。尤其是近年来,出现了越来越多的所谓无代码开发平台,如果不能跟进学习,自己恐怕也要被淘汰了。所以,就
Less 是一个非常优秀的css增强方言。如果你熟悉Bootstrap,你会发现这个项目大量使用Les
原创 2022-06-15 17:19:21
50阅读
概述前面讲过前端编译是将 Java 源代码编译成 Class 字节码,那么后端编译就对应把 Class 文件转换成与本地机器相关的二进制机器码的过程。然后 JVM 把每一条要执行的字节码交给解释器,翻译成对应的机器码,由解释器执行,Java 程序就运行起来了即时编译器当虚拟机发现某个方法或代码块运行特别频繁,就会把这些代码认定为热点代码(HotSpot Code),为了提高热点代码的运行效率,在运
转载 2021-02-08 10:22:30
389阅读
2评论
原创 11月前
10阅读
编译的前端与后端概念上我们有时候把编译程序分成编译前端和编译后端编译前端前端主要由源语言有关但与目标机无关的那些部分组成,通常包括词法分析、语法分析、语义分析与中间代码的产生,有的代码优化工作也可以包括在前端。编译后端后端包括编译程序中与目标机有关的那些部分,如与目标机有关的代码优化和目标代码生成等。 通常后端不依赖源语言而仅仅依赖于中间语言。编译程序的构造工具是什么?以前人们构造编译程序大多
转载 2024-03-11 07:59:59
49阅读
LLVM后端与工具链技术探索底层探索LLVM在介绍 LLVM 之前,先来认识一下解释型语言和编译型语言。解释型语言有的编程语言可以一边执行一边转换,不会生成可执行文件再去执行,这种编程语言称为解释型语言,使用的转换工具称为解释器,比如 Python、JavaScript、PHP等。   编译型语言有的编程语言要转换成二进制指令,也就是生成
转载 2024-01-19 17:21:59
144阅读
js预编译js运行过程分为三步:1. 语法分析 2. 预编译 3. 解释执行1.语法分析: 也就是检查js 代码是否有【语法错误】 写法错误3:解释执行: 对每一行代码分别解析执行, 对提升的变量重新赋值。预编译的产生总体来说的话就是变量提升,变量提升的过程某些情况下会导致变量在各个阶段值不同GO、AO对象在预编译过程之中全局上编译前会产生GO对象(也就是window对象去对对象去做判断以及存储数
JS代码执行过程  我们都知道,JS语言是一种单线程解释性语言。它是一门语言,它有它自己的执行机制。来看下吧。 1. 首先,进行语法分析,语法分析就是浏览器先通栏浏览一下整体的代码有没有少写分号、单词拼错等语法的错误  2. JS预编译。本质是创建AO对象或GO对象,对其属性的操作。  3. 最后解释性执行。就是一行一行的读取代码执行代码。 JS预编译(AO对象及GO对象)   预编译简单理解就是
LLVM是一套提供编译器基础设施的开源项目,是用 C++ 编写,包含一系列模块化的编译器组件和工具链,用来开发编译器前端和后端。 简介LLVM是一套提供编译器基础设施的开源项目,是用 C++ 编写,包含一系列模块化的编译器组件和工具链,用来开发编译器前端和后端。它是为了任意一种编程语言而写成的程序,利用虚拟技术创造出编译时期、链接时期、执行时期以及“闲置
转载 2024-05-19 11:21:06
144阅读
需要安装的插件:Pipeline Maven Integration 安装 maven 系统管理 → 全局工具配置 → Maven 填入名字为 maven 3.3.9 ,版本选择 3.3.9 配置 Maven settings.xml: 系统管理 → Management File → Add a
转载 2020-09-30 10:25:00
362阅读
Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 Ctrl+[ OR ],可以跑到大括号的开头与结尾 Ctrl+F12,可以显示当前文件的结构 Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择 Ctrl+N,可以快速打开类 C
1.反编译是java开发者必不可少的东西,今天我们jd-gui-0.3.6.exe这个工具来反编译class文件。2.工具使用起来很简单,双击打开–>File—>OpenFile选择你要反编译的class。下面我们来看下几个反编译后的神奇例子://------------- 实例1 ------------ //反编译前 public class Test { public stat
转载 2023-06-05 15:57:21
116阅读
目录1.使用反编译软件jd-gui软件进行返编译2. .java重新编译问题3. 重新打包的问题1.指令打包编辑      2.使用压缩工具进行解压和压缩 Linux 方式仅文本文件参考:直接修改和替换 Jar 包中文件的几种方式 | 随遇而安 (iszy.cc)1.使用反编译软件jd-gui软件进行返编译File->open File  &
转载 2024-06-06 22:35:59
574阅读
ncnn 参考:​​​Build for Windows x64 using Visual Studio Community 2017​​需要安装vs 2017/2019,然后在​​开始​​​菜单中​​Start → Programs → Visual Studio 2017 → Visual Studio Tools → x64 Native Tools Command Prompt for V
原创 2022-10-30 06:54:19
236阅读
Ubuntu9.10构建ARM-Linux交叉编译器 1.制作之前确保你的机子上有如下几个工具:bison、flex、build-essential、patch、libc6-dev。build-essential主要是用于提供GCC、GLIBC等必要的编译资源,一般做开发的人员机子上应该都会有。如果没有:sudo apt-get install...... ubuntu9.1
# Java后端开发:编译与运行的奥秘 Java作为一种广泛使用的后端开发语言,其代码的编译与运行过程一直是开发者关注的焦点。本文将带你深入了解Java后端代码的编译过程,并通过代码示例和流程图,让你对这一过程有更清晰的认识。 ## Java代码的编译过程 Java代码的编译过程可以概括为以下几个步骤: 1. **编写源代码**:开发者使用Java语言编写源代码。 2. **编译源代码**
原创 2024-07-22 06:45:54
40阅读
在前面的旅程中,我们已经实现了整个的编译器前端。我们也知道,前端的目标是将源代码转变为抽象语法树,以供后端使用。从这一章开始,我们就要前往后端世界一探究竟了,现在,就让我们来看看编译后端到底由哪些组件组成,其分别又是在做什么吧。1. 编译后端的结构组成不同于编译器前端,编译后端并不是一个严格的流水线式结构,我想,用“A服务于B”这样的形容是更为贴切的。在CMM编译器的后端中,主要包含了语义分
转载 2021-02-23 12:46:28
637阅读
2评论
gcc hello.c   ./a.out     或者 gcc hello.c -o hello   ./hello./表示执行当前目录下的可执行程序或脚本程序。首先gcc需要调用预处理程序cpp,由它负责展开在源文件中定义的宏,并向其中插入“#include”语句所包含的内容;接着gcc会调用编译程序ccl和汇编程
编译器前端将用户代码解析得到计算图 IR,并且做了一些和计算设备无关的通用优化。编译后端做的优化就和具体的设备有关了(不同设备有不同
原创 2024-08-09 11:19:38
61阅读
1、python简单介绍发明者:uido van Rossum python常用入门问题: 解释器和编译器是啥?:计算机由于不能直接理解机器语言之外的语言,所以程序语言都需要被翻译成机器语言才能被计算机执行。将程序语言翻译成机器语言的工具叫做编译器。 编译器翻译的方式分为两种:一个是编译、一个是解释。 编译器能直接编译整个程序,解释器是逐行解释每一句源代码。
转载 2024-04-21 15:17:28
3阅读
  • 1
  • 2
  • 3
  • 4
  • 5