搜索
查看: 2757|回复: 7
打印 上一主题 下一主题

求助,老是不能编译成功,我用的是2.0版本。

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-2 13:02:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
这是截图。

b.jpg (142.33 KB, 下载次数: 17)

b.jpg

最佳答案

查看完整内容

如果要用sleep,首先Sleep(5000);的第一个S要大写,第二需要在开头添加#include
沙发
发表于 2013-3-2 13:02:51 | 只看该作者
如果要用sleep,首先Sleep(5000);的第一个S要大写,第二需要在开头添加#include<windows.h>
板凳
 楼主| 发表于 2013-3-2 14:29:20 | 只看该作者
啊哈磊 发表于 2013-3-2 14:07
如果要用sleep,首选Sleep(5000);的第一个S要大写,第二需要在开头添加#include

谢谢,成功了。另外问一下,为什么要这要做啊?能否具体讲一下。
地板
发表于 2013-3-2 14:35:40 | 只看该作者
fengzhenging 发表于 2013-3-2 14:29
谢谢,成功了。另外问一下,为什么要这要做啊?能否具体讲一下。

这是参照gcc的标准
5#
 楼主| 发表于 2013-3-2 15:21:46 | 只看该作者
百科了一下gcc,发现其不止支持windows,更主要是在unix系统上运行,猜测sleep语句只能在windows上运行,而在unix上应该是不同表示,不知道猜想对不对
6#
 楼主| 发表于 2013-3-2 16:05:27 | 只看该作者
啊哈磊 发表于 2013-3-2 14:35
这是参照gcc的标准

百科了一下gcc,发现其不止支持windows,更主要是在unix系统上运行,猜测sleep语句只能在windows上运行,而在unix上应该是不同表示,不知道猜想对不对.是否该软件也可在unix系统上运行
7#
发表于 2013-3-2 17:08:32 | 只看该作者
本帖最后由 rosynirvana 于 2013-3-2 17:22 编辑
fengzhenging 发表于 2013-3-2 16:05
百科了一下gcc,发现其不止支持windows,更主要是在unix系统上运行,猜测sleep语句只能在windows上运行, ...

语句能不能运行要看编译器的“实现”
windows和unix两个系统都提供了相应的system call
sleep()或是Sleep(),都会被转换成相应的system call来处理

究其原因是mingw GCC(win下面移植版的gcc)废弃了sleep(),但是保留了声明在windows.h中的Sleep()
所以现在只能用Sleep()
在一个UNIX系统下,由于POSIX标准的要求,sleep()是一定能用的
如果要问UNIX系统下面能不能用Sleep(),这取决于编译器的实现,通常来说,是不能用的

如果说编译好的exe文件能不能搬到UNIX下面用,回答是不能
现代UNIX系统使用ELF格式的可执行文件,而windows使用PE格式的可执行文件,所以不能通用
8#
 楼主| 发表于 2013-3-3 21:10:15 | 只看该作者
rosynirvana 发表于 2013-3-2 17:08
语句能不能运行要看编译器的“实现”
windows和unix两个系统都提供了相应的system call
sleep()或是Sle ...

O(∩_∩)O谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表