❶ vc编译器出现bug了,怎么办
是你的程序出现BUG吧……
======================
用了OFN_ALLOWMULTISELECT 的话貌似要自己指定一个接收文件名的缓冲区吧
TCHAR *buff=new TCHAR[1*1024*1024];
fileDlg.m_ofn.lpstrFile=buff;
fileDlg.DoModal();
......
.......
用完后
delete []buff;
❷ vc编译器通过了,运行也不报错,但出不来结果,求给看看bug在哪···
你的问题多多。
由于没有aa.txt文本文件,没法进行测试,能看出来的错误有:
1: fp=fopen("C:\\Users\\aa.txt","r");//这样写
2:x,y=t(x,y);//这种写法不正确
3:return x,y;//一个函数只能有一个返回值,你这样搞是没用的,请使用指针
❸ Bug最少的C++编译器是什么
PC DOS/windows 编程用 VC++ 6.0 较好,6.0比较成熟。
linux/unix 用 gcc 较好.
任何一样工具都会有缺欠,用其长处,避其短处。写东西,要自己时不时地写个备份,以免劳动力白花 -- 无论是BUG引起,或停电等别的引起。
❹ 为什么程序会有bug
所谓“(Bug)”,是指电脑系统的硬件、系统软件(如操作系统)或应用软件(如文字处理软件)出错。硬件的出错有两个原因,一是设计错误,一是硬件部件老化失效等。软件的错误全是厂家设计错误。那种说用户执行了非法操作的提示,是软件厂商不负责的胡说八道。用户可能会执行不正确的操作,比如本来是做加法但按了减法键。这样用户会得到一个不正确的结果,但不会引起bug发作。软件厂商在设计产品时的一个基本要求,就是不允许用户做非法的操作。只要允许用户做的,都是合法的。用户根本就没有办法知道厂家心里是怎么想的,哪些操作序列是非法的。
从电脑诞生之日起,就有了电脑BUG。第一个有记载的bug是美国海军的编程员,编译器的发明者格蕾斯·哈珀(Grace Hopper)发现的。哈珀后来成了美国海军的一个将军,领导了着名计算机语言Cobol的开发。
1945年9月9日,下午三点。哈珀中尉正领着她的小组构造一个称为“马克二型”的计算机。这还不是一个完全的电子计算机,它使用了大量的继电器,一种电子机械装置。第二次世界大战还没有结束。哈珀的小组日以继夜地工作。机房是一间第一次世界大战时建造的老建筑。那是一个炎热的夏天,房间没有空调,所有窗户都敞开散热。
突然,马克二型死机了。技术人员试了很多办法,最后定位到第70号继电器出错。哈珀观察这个出错的继电器,发现一只飞蛾躺在中间,已经被继电器打死。她小心地用摄子将蛾子夹出来,用透明胶布帖到“事件记录本”中,并注明“第一个发现虫子的实例。”
从此以后,人们将计算机错误戏称为虫子(bug),而把找寻错误的工作称为(debug)。
❺ 我的编译器关于printf函数似乎有了BUG
首先说一下,Dev C++是IDE不是编译器,它的编译器应该是gcc
代码应该是没有问题的,检查一下IDE和编译器,更换一个gcc版本,或者试试Code::Blocks
❻ 如何看待王垠c 编译器优化过程中的bug 知乎
这种男生其实就是想玩你其实他就是寂寞太久了,一般都不是真心的,需要直接了当的拒绝他不要给他幻想的机会。
❼ Devc++编译器是不是有bug啊
这不是编译器的bug,问题在这一句: *q++=*q+1;,这就叫未知行为语句,这一句里面的q++到底在什么时候产生副作用没有标准,不同的编译器,不同的环境下可能会有不同的做法。
你的预期是:
*q=*q+1;
q=q+1;
而devc++是这样做的:
char& r=*q; //为方便说明问题定义一个引用
q=q+1;
r=*q+1; //于是当前字符被赋值为下一个字符的值+1
也就是说q++是在“=”赋值操作前起作用的
那么最后一个字符j就会被赋值为'\0'+1,也就是整数1,你可以%d输出下试试
避免这种情况的唯一办法就是不要写这样的代码,把++,--操作放到独立行上就不会有问题了
while(*q)
{
*q=*q+1; //或者(*q)++; 这个不会有问题
q++;
}
这样写就不会有问题了
❽ 编程菜鸟,这段代码有错教材上是这样的啊编译器不停报错,根本停不下来
hi,朋友
刚开始编程都是这样,只顾着照书上一点点的抄,不知道每个东西为什么这么编写,要想调通首先要知道编写规则,最起码让编译器不能识别出你编写的语法bug。
上面是一段c语言程序,简单分析一下为什么调不通:
#include<stdio.h>为IO函数类库必须有,要不printf和scanf都使用不了。
main{中间是一下代码},是主函数,一个c程序必须有它,所有的逻辑都要写在里面,才能运行,但是这个前面要给它一个返回值,一般void mian{}就行,设置无返回值,要不会报错。
int a,b,c声明了三个整形变量,但是结尾没有分号;,这是肯定要报错的。
然后你打印了一段话在dos屏幕上,(这是第一个程序计算器\n),还换行输出,这段没有什么问题。
printf("请输入第一个数字:");
scanf("%d,&a");
printf("请输入第二个数字:");
scanf("%d,&b");
这些都没有问题,正常打印,还有用scanf函数,手动输入整形变量值a和b。
c = a+b结尾也没有分号;,故然这块还是要报错。
printf("结果是:%d\n",c);打印出a+b的结果,没有错。
把getch();改成system("pause");作为显示结果时,能够让结果停留在屏幕上。
照着上面重新编写你的代码吧,然后编译一遍,再运行。
因为你是刚学习编程,一句一句分析,会对你编译出错问题理解,有所帮助,加油!
❾ 如果编译器出了bug,请问大家是怎么解决的
用& 连接字符串的时候,前后敲个空格就好了。 Response.Write "字符串:" & He&"" 因为&H是16进制数字的前缀,编译器误会了。
❿ 编译器错误●怎么办
这是两个截然不同的概念。不是叫做:编译器错误,而是应该叫做:编译错误。如果说真的是编译器内部本身(例如:C语言编译器、或者是别的各种编程语言的编译器)出现了bug 的话,那么任何人也没有办法。只有开发编译器软件的软件开发人员才能够解决这样的问题;
如果是在你的源程序中产生的各种编译错误(例如:语法错误、语义错误等),那么你只能够仔细地检查、编译、调试你的源程序了。