导航:首页 > 源码编译 > 编译错误代码全部出现

编译错误代码全部出现

发布时间:2022-07-11 08:09:39

‘壹’ c语言 编译时总是出现错误,请大神指点

我想这个应该和我碰到的问题差不多。
有这种情况,就是当你写的程序(比如上面你写的gfd.exe)运行后,点击图形界面上的那个叉。后图形界面退出了。但是进程并没有退出,所以你更改代码,重新编译要生成gfd.exe时,系统提示无法写入。因为gfd.exe的进程还在跑,这个文件还在使用中,所以不能生成新的gfd.exe文件将其覆盖。
解决方法也很简单,打开任务管理器,杀死进程gfd,exe就可以了。

‘贰’ 程序编译错误不知道是什么原因

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

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

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

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

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

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

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

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

解决语法错误

常见语法错误:

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

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

3)关键字拼写错误。

较难认定的典型错误:

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

解决上下文关系错误

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

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

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

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

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

如何看待编译警告

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

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

常见警告:

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

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

‘叁’ 为什么在网上找的一些c语言程序的代码在vc++6.0中编译总是出现错误求指教

第一,如果提示某些字符错误(一般看上去是空格,但字符码和空格不一样,编译器不识别),你可以把它的空格全部去掉,再重新整理格式,用查找替换功能协助。
第一,如果没有特殊字符,你要区分它是不是标准的c语言程序。重点看头文件,比如graphics,conio是TC里面的,自然无法再vc6中使用。
你最好有tc和vc两个编译器,有个c/c++学习实验系统集成了tc2 tc3 vc6三者的,你可以试试。

‘肆’ 程序代码编译出现错误

你试下这个代码, 你原来的操作符重载格式不对
#include <iostream>
using namespace std;

class vector1
{

int x,y;
public:
vector1()
{
}
vector1(int x1,int y1)
{
x=x1;
y=y1;
}
friend vector1 operator +=(vector1 v1,vector1 v2)
{
v1.x+=v2.x;
v1.y+=v2.y;
return v1;
}
friend vector1 operator -=(vector1 v1, vector1 v2)
{
vector1 tmp;
tmp.x=v1.x-v2.x;
tmp.y=v1.y-v2.y;
return tmp;
}
void display()
{
cout<<"("<<x<<","<<y<<")"<<endl;
}
};
void main()
{
vector1 v1(6,8),v2(3,6),v3,v4;
cout<<"v1=";
v1.display();
cout<<"v2=";
v2.display();
v3=v1+=v2;
v4=v1-=v2;
v3.display();
v4.display();
}

‘伍’ 如何修复vbs代码电脑显示编译错误

先把vbs文件放到一个没有中文也没有空格的路径中试试

‘陆’ VC++编译出错,错误代码:error C1189,请各位高手指点一下。

2个解决办法。
1.工程-》属性-》C/C++-》代码生成-》运行时库:修改成: 多线程调试(/MTd); (release版本也修改成 多线程(/MT)

2.工程-》属性-》常规-》MFC的使用:修改为:在静态库中使用 MFC
方法2不一定管用,PC机上的MFC(相对于EVC而言)程序都是多线程的(不信你照2修改试试,会出现找不到_beginthread函数的定义),必须设置多线程版本的运行时库。也就是照1的设置

大哥多给点分吧

‘柒’ C语言:下面的代码为什么会出现编译错误应当怎么改正

错误出在a=sum;这一句——因为构成C语言程序的基本单位是函数而不是C语句,这里的a=sum;不在任何函数中,所以编译器无法处理而出错。把它放到主函数中的printf("%d ",a(3,5));之前就可以了。函数外只能进行全局变量定义或声明,而不能进行其他操作,所以把int (*a)(int, int); a=sum;两句改成int (*a)(int, int)=sum;,让它成为声明变量a并初始化为sum也是可以的。你可以试试。

代码文本:

#include "stdio.h"

int sum(int a, int b);

int (*a)(int, int);

int main(int argc,char *argv[]){

a=sum;

printf("%d ",a(3,5));

return 0;

}

int sum(int a,int b){

return a+b;

}

阅读全文

与编译错误代码全部出现相关的资料

热点内容
汽车压缩机用什么机油好 浏览:834
phpexcel文件上传 浏览:247
如何静音手机的某个app 浏览:887
半导体工艺pdf 浏览:778
命令和意愿的一致才不会掉链 浏览:652
设计模式java装饰模式 浏览:688
恋听app哪里下载 浏览:707
金铲铲之战为什么一直服务器满 浏览:70
安卓手机如何像苹果一样app资源库 浏览:127
安卓本地数据库加密方式 浏览:644
二冲程压缩比 浏览:145
单片机acall指令功能 浏览:116
如何下载医保商户app 浏览:801
python爬虫实现获取斗鱼主播信息 浏览:461
mv命令参数 浏览:497
弹射世界强化弹射算法 浏览:439
xp压缩包软件下载 浏览:717
手机at命令拨号 浏览:1003
解压过视频在哪里看 浏览:188
ipad无法选择服务器登录怎么办 浏览:828