导航:首页 > 源码编译 > 程序编译成功但运行不了

程序编译成功但运行不了

发布时间:2025-01-08 22:37:52

㈠ C语言里程序编译无误但运行会弹出程序已停止运行是为什么

造成程序停止运行弹框出错的可能原因如下:

  1. 内存溢出

    内存溢出(out of memory)通俗理解就是内存不够,程序所需要的内存远远超出了主机内安装的内存所承受大小,就叫内存溢出。系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件

    造成内存溢出的原因可能有:

    1>栈区溢出,例如在main函数内开辟的数组空间过大,一般机器的栈区限制在8MB左右,如果开辟的数组大小超过限制,程序就会崩溃。通常的解决方法是申请堆内存,即将较大的数组作为全局变量开在main函数之外。

    2>错误地址访问,常见的非法访问包括指针漂移,数组越界等,初学者也经常出现类似scanf函数没加区地址符号&的情况导致在读取变量的时候因非法访问造成的溢出。

    3>数据类型不符,问题和第二个类似,例如在声明变量时声明为int在输出变量时却用了%lld,就会造成因数据类型不符而导致的溢出。

  2. 编译器错误

    部分编译器由于所使用的标准不同(例如在一台机器上使用的可能是C99标准,而另一台机器上使用的是C11标准),或是因为编译器链接库的损坏,在少数情况下也可能导致程序出现不限于崩溃退出的异常错误,通常解决方法是到编译器官方网站下载最新版的IDE安装。


㈡ 为什么C语言程序编译正确但不能执行

这当然原因非常多,比如:编译器编译不够严格、程序有很大的风险等等,最简单的一个例子如下:

inta;
scanf("%d",a);

可以确定的一点是:一旦在运行中出现错误,大多是较为严重的错误,须引起重视,否则,一旦错误非常严重,必会导致许多严重的后果,如死机、卡屏甚至直接导致蓝屏。

㈢ 程序编译成功但不能运行是什么原因

需要看一下警告信息。
在代码中加一些输出语句或者进行调试,如果还无法修改,再来提问。

㈣ C语言程序编译后正确,但是运行时总有一个 错误是怎么回事啊,,很急啊,,各位帮帮忙

LINK : fatal error LNK1104: cannot open file "kernel32.lib"

没有指定lib路径!

就是说你的程序 引用到kernel32.lib 库了;然而你 又没有给他指定正确的路径;编译时,编译器找不到kernel32.lib

㈤ 我写的一个程序编译通过,但运行是报错。 这是出了什么问题

这是逻辑错误,就是说代码在语法上没有错误,但是在逻辑上有问题,因此没办法执行。
处理这种问题,可以通过调试,来看看哪一块代码逻辑上有问题(就是说没有达到预期的效果)。

阅读全文

与程序编译成功但运行不了相关的资料

热点内容
vc编程规范 浏览:999
安卓手机软件加密app中文 浏览:123
螺纹零件加工编程 浏览:322
sns开源java 浏览:411
超级计算机与算法 浏览:584
解压缩app能够缩小多少 浏览:878
有证件照的是哪个app 浏览:404
dayz如何确定和队友在一个服务器 浏览:608
java定义枚举类型 浏览:92
手机里面没有应用锁怎么加密应用 浏览:444
电气与可编程控制器原理及应用 浏览:547
php512 浏览:568
手机文件夹应用推荐怎么关 浏览:605
服务器为什么要分业务口和管理口 浏览:682
杨辉三角java算法 浏览:55
cmd编译错误找不到符号 浏览:695
linuxip机器名 浏览:489
服务器喇叭和频道喇叭有什么区别 浏览:31
闲鱼排名算法如何计算 浏览:976
linuxtargz解压命令 浏览:742