导航:首页 > 源码编译 > 编译出错指的是

编译出错指的是

发布时间:2023-03-14 05:54:00

java语言中什么叫做编译错误

就是你用javac命令将源代码(.java)文件翻译成字节码(.class)文件时产生的错误。
比如,变量名不符合规定,变量没定义,关键字拼写错误等等。。。
java的编译器(javac)会根据java语法规定做一些检查,不符合规定的就不通过编译。

编译错误,是相对于运行时错误而言的。
运行时错误,是你用java命令运行时会出现的错误,一般会抛出异常。

㈡ 编译错误,怎么回事

关于编译问题,如果说是编译错误发生在自己编写源程序的过程中的话,那么问题的原因还是比较复杂的。通常关于用户编写的源程序的编译出错问题,这是一个很复杂的问题。因为编译错误有很多种。例如:语法错误、系统库连接错误、语义错误、数组越界、或者内存越界等等。

通常语法错误是最好解决的,因为源程序的语法出错了,连编译这一关都通不过,并且会告诉你在哪一行出错了,这时候是最容易调试程序的。最难调试的就是:源程序虽然编译通过了,但是程序的运行结果却是错误的,这种是最难调试的。所以说,你必须要把详细的出错信息写出来,别人们才好帮助你进行分析。

㈢ 台达PLC编程完成后使用梯形图转指令时提示编译出错是怎么回事

编译出错就是程序写的不合理,这种情况就可以上传下载的,就像台达PLC程序中可以多次使用双线圈一样,程序可以正确的运行,但是编译就显示错误,这样的程序都是用语句表的形式下载的。

㈣ word编译错误:hwfrec

word编译错误:hwfrec的原因是控件名称有重复的。解决办法就是需要找出重复的进行删除。
编译错误一般指语法上的错误运行错误或指程序上的bug。

㈤ Java编译错误和运行错误有什么区别 能否深入浅出

编译出错差不多就是语法不对,比如你写String str = 'str';这么写语法不对编译就会出错。运行出错是指语法没问题但是逻辑有问题,比如一个方法传进一个String类型的变量str,方法体中有类似于str.equals("str");的语句,但是传进的str是个null,那么那一句就相当于null.equals("str");这肯定会抛空指针异常。
用手机做例子,编译出错就是手机在生产的时候零件不对,那就肯定不能出厂。运行出错就是手机组装完出厂了,到手了你没用来打电话,直接拿来砸核桃了,那手机肯定报废(NOKIA除外)。

㈥ C#中什么是编译错误,什么是运行错误,它们的区别是什么

编译错误是在运行之前报出的 运行错误就是字面意思 在运行中发生的异常你可以把编译错误想象成 明明是要考试2+2 可你却写成了1+1 当老师在检查你算法对不对之前他就知道你错了 因为 明明是2+2 就像楼上说的 一般是语法之类的错误 运行错误 就是你没有语法之类的错误 可是在运行时 算法或者某些东西使用不当出现的错误比如空指针异常 溢出异常 等等 要用具体的来说明的话比如 一个数组长度只有3位 可是你却在使用过程中赋了4位以上的值 或者当你用了一个对象可是在却一直没有给对象引用类型等等 就好像 要考试2+2 你是写的2+2没错 但是 你却是写的等于5 老师就发现你的结果存在错误 而不是一开始就写错了

㈦ c++中什么是语法错误,什么是编译错误

简单的说,
语法错误:就是你的c++代码书写有问题,不是标准定义的;(比如
int写成了in,漏写个分号,漏写个括号,把int型参数赋值给字符串,等等),一般语法错误在编译时都是可以被编译器发现,发出警示的;
编译错误:是在编译时你本身的代码没问题,但是调用的一些文件、函数库,找不到,或者和你想要使用的版本不一致,导致函数参数不一样。
大多数情况下我们分类错误都是说
语法错误

逻辑错误;
逻辑错误:指你的语法正常,编译也能通过,但是按你的代码执行会出错。包括执行结果与预期不一致,或者程序执行就挂掉(一般是内存泄露等问题)

㈧ compile error是什么错误

compile error 是C语言编辑错误。

1、变量未定义就使用,或定义后使用位置超出了定义的作用域。

说明:如b=25但程序并未在使用前定义好b的类型,还应注意变量作用域。

2、 括号不匹配。

说明:()、[]、{}一定要有始就得有终。

3、使用非法类型。

说明:如__int64在GCC编译器下不识别,你却用它。

4、需少分号。

说明:忘了语句以一个分号结束。

5、用函数未引头文件。

说明:如printf函数在G++中未包含stdio.h文件。GCC较G++稍宽松些此处。

6、 包含非标准头文件。

说明:如conio.h并非标准库中定义的头文件。

7、使用非标准库函数。

说明:如itoa、strupr等并不是C标准库中的函数,不能使用。

8、有非法字符。

说明:一般是你网上或幻灯片里粘贴过来的代码有非常字符引起。

9、自定义函数未声明。

说明:自定义函数一定要先声明再使用。

(8)编译出错指的是扩展阅读

程序编译特点:

1、数据结构分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。符号表由源程序中所用的标识符连同它们的属性组成,其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字符串、复型、标号等),以及目标程序所需的其他信息。

2、常数表由源程序中用的常数组成,其中包括常数的机内表示,以及分配给它们的目标程序地址。中间语言程序是将源程序翻译为目标程序前引入的一种中间形式的程序,其表示形式的选择取决于编译程序以后如何使用和加工它。

3、常用的中间语言形式有波兰表示、三元组、四元组以及间接三元组等。

㈨ 程序编译错误不知道是什么原因

不能通编译过的程序实际上还不是合法的程序,因为它不满足C语言对于程序的基本要求。

检查语法错误的第一要义:集中力量检查系统发现的第一个错误,弄清并改正它。

在编译过程中系统发现的错误主要有两类:基本语法错误和上下文关系错误。这些错误都在表面上,可以直接看得见。也是比较容易弄清,比较容易解决的。关键是需要熟悉C语言的语法规定和有关上下文关系的规定,按照这些规定检查程序正文,看看存在什么问题。

编译中系统发现错误都能指出错误的位置。不同系统在这方面的能力有差异,在错误定位的准确性方面有所不同。有的系统只能指明发现错误的行,有的系统还能够指明行内位置。

一般说,系统指明的位置未必是真实错误出现的位置。通常情况是错误出现在前,而系统发现错误在后,因为它检查到实际错误之后的某个地方,才能确认出了问题,因此报出错误信息。要确认第一个错误的原因,应该从系统指明的位置开始,在那里检查,并从那里开始向前检查。

系统的错误信息中都包含一段文字,说明它所认定的错误原因。应该仔细阅读这段文字,通常它提供了有关错误的重要线索。但也应该理解,错误信息未必准确,有时错误确实存在,但系统对错误的解释也可能不对。也就是说,在查找错误时,既要重视系统提供的错误信息,又不应为系统的错误信息所束缚。

发现了问题,要想清楚错误的真正原因,然后再修改。不要蛮干。在这时的最大诱惑就是想赶快改,看看错误会不会消失。但是蛮干的结果常常是原来的错误没有弄好,又搞出了新的错误。

另一个值得注意的地方:程序中的一个语法错误常常导致编译系统产生许多错误信息。如果你改正了程序中一个或几个错误,下面的弄不清楚了,那么就应该重新编译。改正一处常常能消去许多错误信息行。

解决语法错误

常见语法错误:

1)缺少语句、声明、定义结束的分号。

2)某种括号不配对。C语言中括号性质的东西很多,列举如下:
( ), [ ], { }, ' ', " ", /* */
在不同位置的括号不配对可能引起许多不同的错误信息。

3)关键字拼写错误。

较难认定的典型错误:

1)宏定义造成的错误。这种东西不能在源程序文件中直接看到,是在宏替换之后出现的。常见的能引起语法错误的宏定义错误:宏定义中有不配对的括号,宏定义最后加了不该有的分号,……

解决上下文关系错误

1)变量没有定义。产生这个问题的原因除了变量确实没有大意外,还可能是变量的拼写错误,变量的作用域问题(在不能使用某个变量的地方想去用那个变量)。

2)变量重复定义。例如在同一个作用域里用同样名字定义了两个变量,函数的局部变量与参数重名等。

3)函数的重复定义。可能是用同一个名字定义了两个不同的函数。或者是写出的函数原型在类型上与该函数的定义不相符。有时没有原型而直接写函数调用也可能导致这种错误信息,因为编译程序在遇到函数调用而没有看到函数原型或函数定义时,将给函数假定一个默认原型。如果后来见到的函数定义与假定不符,就会报告函数重复定义错误。

4)变量类型与有关运算对运算对象或者函数对参数的要求不符。例如有些运算(如 %)要求整数参数,而你用的是某种浮点数。

5)有些类型之间不能互相转换。例如你定义了一个结构变量,而后要用它给整数赋值。系统容许的转换包括:数值类型之间的转换,整数和指针之间的转换,指针之间的转换。其余转换(无论是隐含的,还是写出强制)都不允许。参见《C语言程序设计》(K&R)197-199页。

如何看待编译警告

当编译程序发现程序中某个地方有疑问,可能有问题时就会给出一个警告信息。警告信息可能意味着程序中隐含的大错误,也可能确实没有问题。对于警告的正确处理方式应该是:尽可能地消除之。对于编译程序给出的每个警告都应该仔细分析,看看是否真的有问题。只有那些确实无问题的警告才能放下不管。

注意:经验表明,警告常常意味着严重的隐含错误。

常见警告:

1)(局部自动)变量没有初始化就使用。如果对局部指针变量出现这种情况,后果不堪设想。对于一般局部自动变量,没有初始化就使用它的值也不会是有意义的。

2)在条件语句或循环语句的条件中写了赋值。大部分情况是误将 == (等于判断)写成 = 了。这是很常见的程序错误,有些编译程序对这种情况提出警告。

阅读全文

与编译出错指的是相关的资料

热点内容
山东济南生产服务器云主机 浏览:310
算法员跳槽四年 浏览:730
秦九昭算法v0怎么求 浏览:384
斗鱼java 浏览:896
程序员对老师的感谢 浏览:29
什么app能查看银行卡照片 浏览:24
win7pdf虚拟打印 浏览:332
程序员喜欢的女生条件 浏览:123
阿里云服务器ip搭建教程 浏览:85
解压和拉伸这一动画的原理是什么 浏览:740
tbc战士的命令怒吼 浏览:481
idea快捷键看源码 浏览:976
手机碎屏解压工具 浏览:245
jsonrpcphp使用 浏览:566
网上求职系统源码 浏览:699
pdf数字不显示 浏览:890
convertwordtopdf 浏览:253
程序编译基本单位 浏览:23
python分析图片角度 浏览:64
阿里云服务器能复制数据吗 浏览:562