小弟我做了一个整人的C程序,代码如下,小弟我自己运行正常,但发给别人就无法运行了,求解决
我做了一个整人的C程序,代码如下,我自己运行正常,但发给别人就无法运行了,求解决
#include<stdlib.h>
#include <stdio.h>
#include <string.h>
void qx()
{
char b[]={"我是猪"},a[7];
scanf("%s",a);
if (!strcmp(a,b))
{
system("shutdown -a");
printf("关机已取消,猪");
fflush(stdin);
getchar();
exit(0);
}
}
int main()
{
system("shutdown -s -t 300");
printf("你的计算机将在5分钟后关闭,输入“我是猪”取消关机\n");
qx();
system("shutdown -a");
system("shutdown -s -t 60");
printf("居然不说,1分钟后关机!");
while(1)
{
qx();
}
}
------解决方案--------------------
是不是输入缓冲区 a 长度太小导致的问题?
------解决方案--------------------
你是发什么给别人,源代码吗?
------解决方案--------------------
建议将a搞大点,并初始化一下,比如如下
#include<stdlib.h>
#include <stdio.h>
#include <string.h>
void qx()
{
char b[]={"我是猪"},a[7];
scanf("%s",a);
if (!strcmp(a,b))
{
system("shutdown -a");
printf("关机已取消,猪");
fflush(stdin);
getchar();
exit(0);
}
}
int main()
{
system("shutdown -s -t 300");
printf("你的计算机将在5分钟后关闭,输入“我是猪”取消关机\n");
qx();
system("shutdown -a");
system("shutdown -s -t 60");
printf("居然不说,1分钟后关机!");
while(1)
{
qx();
}
}
------解决方案--------------------
是不是输入缓冲区 a 长度太小导致的问题?
------解决方案--------------------
你是发什么给别人,源代码吗?
------解决方案--------------------
建议将a搞大点,并初始化一下,比如如下
- C/C++ code
char a[16]={0};
------解决方案--------------------
那你是用甚么编译的 编译参数是什么.不能用报什么错
------解决方案--------------------
运行报什么错?
多半是依赖的动态库不同导致的,在他机器看一下dependency和你的是否一样
------解决方案--------------------
这个问题的解决众说纷纭。。。
去google下,就能找到很多。。。搜索关键词:我电脑上用vs编译的exe在别人的运行不了
楼主先看看这个帖子
http://topic.****.net/u/20090613/13/461edd81-7652-4317-b9c6-09575b457222.html
解决了后 请楼主把解决的方法贴出来 让大家都学习学习
------解决方案--------------------
楼主肯定使用的动态连接到运行时的(默认的编译方案里就是)。应该改成静态连接的。
------解决方案--------------------
你用的什么编译器
?
------解决方案--------------------
你给他的是debug版吧
试试release?
------解决方案--------------------
两边都能编译运行就OK了!运行之前先编译很好啊!
------解决方案--------------------
工程->属性->C/C++ -> code generation -> Runtime Library
改成 /MT 试试.
------解决方案--------------------
------解决方案--------------------
首先,要改成release的
以VS2008为例,项目——属性——配置属性——常规——MFC的使用——在静态中使用MFC
改完之后编译——连接,就可以了
如果是VC6.0的或其他版本,也是同样的方法,就是选项的位置有点变化
总是就是要改为在静态中使用MFC,或者在静态中使用lib之类的
------解决方案--------------------
如果是VC6.0的可以参考15楼说的选项位置,改为在静态中使用MFC,或者在静态中使用lib之类的
------解决方案--------------------
我也试过,超简单,可以自己添加一些其它东西,我是用VC编译的,把debug文件夹里的EXE程序发给同学,找个理由叫他双击,不过要把后缀改为EXE,因为我是用QQ发过去的,后缀多了一部分。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
lz既然这么感兴趣还是做个木马吧