为什么C语言编写的程序在一些机子上运行得起,在另一些机子上却运行不起

在检查时,系统说有一个错误,程序为#include <stdio.h>
void main()
{
int x,y,z;
scanf("%d%d",&x,&y);
z=x+y;
printf("%d",z);
}

你的程序本身没有任何问题,问题在于你的编译环境。
看错误,你应该用的是VC吧。
这个问题很多情况下是由于路径设置的问题引起的,
首先,你先找到CL.exe这个文件,"CL.exe"是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,你可以到相应的路径下找到这个应用程序。

其次,改好为正确的路径。可以按照以下方法解决:点击VC“TOOLS(工具)”—>“Option(选择)”—>“Directories(目录)”重新设置“Excutable Fils、Include Files、Library Files、Source Files”的路径。很多情况可能就一个盘符的不同(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。追问

没找到CL。exe的文件,我的路径都是在C盘,路径是对的。你可不可以帮这个程序重新编写一下发过来呀。谢谢了

追答

说过了,你的程序没问题。
使用搜索找cl.exe这个文件。看看在哪。
标准路径在这:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT

include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE

library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB

source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC

也可以试试这个方法
启动VC时不要用图形界面,通过在命令提示符下输入:Msdev /useenv运行(注意啦/前面有个空格).它会强制使系统环境变量全高设置成正确值.而且,只需要使用一次这样的方式运行VC,以后再次通过双击图标的方式启动也不会有问题.

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-05
1: 是否可执行!
2: 特殊库的引用
3:硬件的CPU架构和指令不同追问

就是在执行是他说有一个错误,如下-------------Configuration: qiang - Win32 Debug--------------------
Compiling...
Error spawning cl.exe

qiang.exe - 1 error(s), 0 warning(s)

追答

编译的问题
根据提示仔细检查下。

第2个回答  2011-03-05
如果严格按照语法无遗漏,并且只使用语言的基本要素编写,不会出现问题的,但是有些编译程序并不能培养好的编程习惯,比如TC不要头文件,这样到别的编译程序上当然会编译报错,更不用说那些编译程序另外增加的一些东西,自然不能移植到别的系统下
你的程序并没有问题,不过如果是在严格的C++编译环境下,头文件包含#include <stdio.h>
要改成:
#include <cstdio>
using namespace std;追问

你可不可以帮这个程序重新编写一下发过来呀。谢谢了

追答

就是这样了,如果是C++2003年后的编译程序:
#include
using namespace std;
int main()
{
int x,y,z;
scanf("%d%d",&x,&y);
z=x+y;
printf("%d",z);
}

为什么C语言编写的程序在一些机子上运行得起,在另一些机子上却运行不...
你的程序本身没有任何问题,问题在于你的编译环境。看错误,你应该用的是VC吧。这个问题很多情况下是由于路径设置的问题引起的,首先,你先找到CL.exe这个文件,"CL.exe"是VC使用真正的编译器(编译程序),其路径在“VC根目录\\VC98\\Bin”下面,你可以到相应的路径下找到这个应用程序。其次,改好为正...

自己用C编写的程序生成的exe文件在别的机子怎么运行不了?
其实一般在编程序时,都是生成了调试版的程序,就是在那个Debug目录下的可执行文件。运行这调试版的exe文件,都会动态连接 MFC42D.DLL和MSVCRTD.DLL这两个文件,所以你如果将这个文件在其它机器上运行而这台机器没有这两个文件或者缺少一个,系统则会出现: “找不到所需.dll文件-某某.dll”这样的提示。

为什么我用易语言编写的远控只在自己的电脑上有用 在别人电脑上就没用...
1.你没有编译好被控制端,或者说 没有独立编译或静态编译 2.程序没有设计好,客服端及服务端没有设好连接(这个涉及到内网与外网,端口映射,还有主动连接与自动上线的问题)3.在别的机子上安装时,被杀软拦截了与控制端的连接 参考资料:http:\/\/www.jdw8.com ...

同一个C#程序有的机子上流畅有的机子上卡顿是为什么
有没有可能是网络问题呢,如果在界面线程里请求数据,一直等不到数据的话,会出现这种情况 。

为什么我编的程序。。。在自己电脑上能用。。。发给别人就不能用??
要看你的程序脚本是什么了,如果是asp的话是有这种可能的,要配置IIS什么的,还要连数据库,还要设置链接路径,一般运行的时候文件路径正常的话应该OK的

Winform在自己机子上生成的exe为什么不能在别的机子上运行
提示已经说得很清楚了,‘动态连接库找不到’也就是说该程序的运行需要某个特定的DLL文件的支持。你把那个提示里所说的那个DLL文件也一起拷过去就可以用了。

每个编译器都不一样么 c语言一般用什么编译器 每次一种编译器不能编译...
而且不同的CPU的指令集时不同的,所以同样int a =1 最后被编译成的二进制代码也是不同的。C语言的编译器有很多,windows下的编译器也有很多,不同的编译器可能会做一些不同的优化,linux下的gcc也可以添加选项让他编译windows下运行的程序。main(int argc,char*argv[】)argc 是你的参数个数 argv...

c语言为什么能跨平台或是如何跨平台的?
c语言能跨平台是因为各个平台有相应的c编译器,只要源代码相同,编译器编译出来的二进制文件就会实现相同的功能,但是这些二进制文件本身是不一样的 exe就是2进制的,但不完全是原来程序的代码,还包括了windows系统的一些代码 科普一下,C最早是出现在Unix下的,Windows那都是后话了,C出现的时候Windows...

C语言写好的程序如何在别的机器上运行?
1 一般直接将exe文件复制过去就可以了。2 有些MFC程序需要将其编译成release版(debug版不可以)才能在其他机器上运行。3 有些特殊的程序还需要特殊的配置才能在其他机器上运行。

devc编辑出的程序怎么在别人手机上运行
1、一般直接将exe文件复制过去就可以了;2 、有些MFC程序需要将其编译成release版(debug版不可以)才能在其他机器上运行;3 、有些特殊的程序还需要特殊的配置才能在其他机器上运行。C语言的运行程序在别的电脑下怎么样可以运行呢?我是指别的电脑没有安装C 语言. 那就只有在自己的机子上生成EXE文件...

相似回答
大家正在搜