‘壹’ 什么是编译什么是运行
就说C语言吧,编译是把
xxx.c
的源代码转换成可执行的xxx.exe的过程。然后就可以直接运行了,xxx.c是没有办法直接运行的。
‘贰’ 编译和运行有何区别>>>>>>>>>>>>>
编译也就是计算机将你编写的程序,编译(也就是翻译)成计算机可以识别的语言,而运行,就是说要执行你所编写的这个程序,实现一定的功能,通常我们电脑上的软件打开都可以叫做运行
‘叁’ java运行时类型和编译时类型都是什么意思
运行时类型是 程序运行过程中再判断是什么类型,
编译时类型是 在写好代码后,编译时已经确定是什么类型了
‘肆’ 编译时和运行时对象分别是什么数据类型
编译时被当做NSString 的实例来处理,运行时其isa指向的是[NSData Class],故运行时该实例只能收到NSData的固有实例方法(或者自己写的Category),如果对该实例发送诸如 testObject stringByAppendingString:@"哈哈哈" ,编译时不会报错只会给出黄色警告,但是运行时会直接崩溃,错误信息可能是
-[_NSZeroData stringByAppendingString:]: unrecognized selector sent to instance 0x8946440
故可以看出NSData 在运行时的真实类型是_NSZeroData(这里用的NSData alloc init,这里是个空的NSData,所以是ZeroData,不是说所有的)
如果对该实例发送诸如 testObject
::这类消息 编译器会直接给出红色错误,无法运行,但其实这个实例是有这个方法的。
这里如果改为 id testObject=[[NSData alloc]init];
那么发送NSString 的方法仍然会崩溃,发送NSData的实例方法则完全正常。并且两种情况编译器都不会再给出警告或错误。
‘伍’ 编译运行编译运行,有什么区别
编译:
包括编译和链接两个过程。
编译部分,是把源文件(代码)转换成机器可以识别的二进制语言,这个过程是针对每一个源文件的。
链接,是把编译生成的二进制文件,组合成为一个系统可以执行的可执行文件。
这两部分整体也叫编译。也就是说,广义的编译,就是把代码,转换成可执行文件。
运行:
把编译出来的可执行文件,在系统中运行的过程,称为程序的运行。
打个比方,编译就是做饭的过程,而运行,就是吃饭。二者是完全不同的概念,是计算机软件开发的两个步骤。
‘陆’ C++中什么是编译时,什么是运行时,二者有何区别
编译阶段主要进行语法的检查,无误。将程序代码转换成目标代码(二进制表示,打开看不懂),没有和操作系统进行连接,不能运行。完成连接后,程序能够进入系统运行。
运行时,一定是编译过的,没有语法错误。编译时,没有生成目标文件,可能有语法错误。
‘柒’ java中甚么是运行时类型 甚么是编译时类型2者有甚么区分和联系
有1种情况是编译父类型,运行子类型,需要使用子类型的方法时,要强迫转型
‘捌’ c语言中的编辑,编译,连接,运行分别是什么意思
1、编辑:编写代码,制作C语言的源文件。
2、编译:是由编译程序将C语言源文件转换成二进制中间文件,对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。
3、链接:将编译中生成的中间文件组合成二进制可执知行文件,这一步会对文件之间的关联做检查,如果出错,将不会生成可执行文件,也就无法执行。
4、执行:运行可执行文件,这一步道是编写代码的最终目的。
(8)什么是运行类型编译类型扩展阅读:
DOS命令通常分为三类:内部命令、外部命令和批处理命令。
1、内部命令:
其包含在命令解释程序COMMAND.COM中,一旦启动DOS,这些命令就被调入内存,只要在DOS系统提示符下输入这些命令,就可立即执行。
2、外部命令:
其以文件的形式存储在系统盘上,所带扩展名为COM和EXE。DOS启动时,它们并没有被调入内存,执行前必须从系统盘读进内存。因此输入外部命令时,要了解该命令是否在当前盘上,不然DOS无法找到它们。
3、批处理命令:
实际上是个文件,该文件包含多条命令,当用户键入批处理文件名时,DOS将顺序执行其中的各条命令。注意,批处理命令必须用“.BAT”作为扩展名。
C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单。
当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。
网络-运行命令
网络-C语言
‘玖’ java编译时类型和运行时类型该如何理解
编译期只会检查实例声明的类型和强制转化的类型是否存在extend/implement关系,因为从声明变量类型,到强制转化变量的类型之间可能存在编译期无法解析的代码,虽然示例中只是一个简单的赋值,肉眼就可以判断实际类型,但是对于编译器来说是无法判断的,举个简单的例子:
public static void foo(boolean flag) {
Useful xx = flag ? new Useful() : new MoreUseful();
((MoreUseful)xx).g(); // 编译器如何判断此处是否有错误?
// flag=false的时候可以正常运行,就不能说这里有编译期错误}public static void main(String[] args) {
foo(true);
foo(false);
}
‘拾’ 关于JAVA多态的编译时类型与执行时类型的一个问题.
多态的对象,在编译器为sub分配内存空间的时候执行的父类的属性,
运行期,也就是调用方法的时候,指定是子类的行为
这是因为,对象的属性是在声明时指定,方法数据对象的行为