C++
编译:包括编译和链接两个过程。
编译:把源文件(代码)转换成机器可以识别的二进制语言,这个过程是针对每一个源文件的。
链接:把编译生成的二进制文件,组合成为一个系统可以执行的可执行文件。
这两部分整体也叫编译。也就是说,广义的编译,就是把代码,转换成可执行文件。
运行:把编译出来的可执行文件,在系统中运行的过程,称为程序的运行。
比方,编译就是做饭的过程,而运行,就是吃饭。二者是完全不同的概念,是计算机软件开发的两个步骤。
Java
1.编译就是将java代码交给编译器进行语法检查,如果没有错误就生成.class文件
2.运行就是将字节码文件(.class)交给java虚拟机执行,如果没有逻辑错误,就成功出现结果。
编译期和运行期内存的分配
1.编译期仅仅知道内存分配的位置和大小,不做具体的分配操作
2.运行期确定真正的分配,确定分配的大小以及位置
常见的错误
1.编译错误是常见的语法错误:缺少分号,大小写
2.运行错误是逻辑错误:空指针异常,越界访问,除数为0等
ref:https://blog.csdn.net/qq_43718048/article/details/128223951