go语言基础(main函数、数据类型) 1、Go语言介绍 Go语言是云计算时代的c语言 c和c++这类语言提供了很快的执行速度,而Rudy和python这类语言则擅长快速开发。Go语言则介于两者之间,不仅提供了高性能的语言,同时也让开发更快速 优势 部署简单,可直接编译成机器码、不依赖其他库,部署就 ...
分类:
编程语言 时间:
2020-02-24 09:50:11
阅读次数:
85
Linux为美国以外的其它国家提供了自主发展操作系统的一条捷径。主要是因为Linux操作系统本身的源代码是公开的,操作系统开发方可以对源代码自由修改并且从新编译成二进制机器码,也就是说用户可以对系统及网络安全的源代码根据自己的需要在进行研究后而进行修改从而轻松拥有自己版本的操作系统。而特别是在网络安 ...
分类:
系统相关 时间:
2020-02-23 22:40:44
阅读次数:
101
一、jvm是干什么的? 大家都知道java是跨平台语言,一次编译可以在不同操作系统上运行,怎么做到的呢,看下图: javac把写的源代码(java文件),编译成字节码(class文件),字节码部署到linux/windows/..上,被对应的jvm解释成机器码运行,jvm的工作就是这个。 大家都知道 ...
分类:
其他好文 时间:
2020-02-19 17:21:07
阅读次数:
65
Java代码执行步骤 编译 Java文件通过JVM的编译器编译成字节码文件,有了字节码,JVM的类加载器就开始加载字节码文件。 解释器 解释器会将字节码转换成汇编指令,然后在转换成CPU可以识别的机器指令(下图是汇编指令转成机器码的案例)。解释器是软件实现的,他将字节码转换成汇编指令,可以实现同一份 ...
分类:
编程语言 时间:
2020-02-19 13:05:01
阅读次数:
132
概念 inline hook是一种通过修改机器码的方式来实现hook的技术。 原理 对于正常执行的程序,它的函数调用流程大概是这样的: 0x1000地址的call指令执行后跳转到0x3000地址处执行,执行完毕后再返回执行call指令的下一条指令。 我们在hook的时候,可能会读取或者修改call指 ...
分类:
其他好文 时间:
2020-02-14 10:59:46
阅读次数:
120
今天开始学习java,首先搞搞清楚这几个东西之间的关系。 java是可以跨平台的高级语言。高级语言就需要编译,执行。我们写完java源代码之后,第一步要编译。这时候就用到JDK,jdk中的javac命令,将java编译成字节码,也就是二进制码,也就是.class文件,但是这个二进制码不是真正的机器码 ...
分类:
编程语言 时间:
2020-02-12 18:53:01
阅读次数:
59
1,定点数的表示方法 什么叫定点数,就是和普通小数区别开来的表示方法,也就是不在使用‘ . ’来表示,那么小数点岂不是可以任意的放置在某一位置,但是为了统一,我们一般将其 分为纯小数和纯整数。 规定,我们用0和1来分别表示正号和负号。 | Xn | Xn-1 Xn-2 …… X1 X0 | 现在假设 ...
分类:
其他好文 时间:
2020-02-12 18:47:07
阅读次数:
115
过去有一段时间一直以为带个括号的 sizeof() 是 C/C++ 的原生函数QAQ。 其实不然,sizeof 同位运算符(^|&~!)一样是一种单目运算符,作用于变量或数组。 在编译时编译器就会把 sizeof() 的内容转换成常数存入机器码中,不涉及函数的底层操作。 用途 sizeof 运算符可 ...
分类:
编程语言 时间:
2020-02-11 14:39:11
阅读次数:
86
JVM第一弹基本概念JVM是可运行java代码的假想计算机,包括一套字节码指令集,一组寄存器,一个栈,一个垃圾回收、堆和一个存储方法域。JVM是运行在操作系统之上的,它与硬件没有直接的交互。运行过程我们都知道Java代码源文件,通过编译器能够产生相应的.Class字节码文件,而字节码文件又通过Java虚拟机中的解释器,编译成特定机器上的机器码。①Java源文件——>编译器——>字节码文
分类:
其他好文 时间:
2020-02-04 12:18:29
阅读次数:
64
Python基础 上学期的课程中我学习了编译原理,虽然成绩渣渣,但是不影响我对编译过程有了整体的理解; Python作为一种计算机编程语言,而计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能有歧义,所以,编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执 ...
分类:
编程语言 时间:
2020-02-02 12:14:48
阅读次数:
64