搜索

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

查看数: 2765 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-3-2 13:02

正文摘要:

这是截图。

回复

fengzhenging 发表于 2013-3-3 21:10:15
rosynirvana 发表于 2013-3-2 17:08
语句能不能运行要看编译器的“实现”
windows和unix两个系统都提供了相应的system call
sleep()或是Sle ...

O(∩_∩)O谢谢
rosynirvana 发表于 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格式的可执行文件,所以不能通用
fengzhenging 发表于 2013-3-2 16:05:27
啊哈磊 发表于 2013-3-2 14:35
这是参照gcc的标准

百科了一下gcc,发现其不止支持windows,更主要是在unix系统上运行,猜测sleep语句只能在windows上运行,而在unix上应该是不同表示,不知道猜想对不对.是否该软件也可在unix系统上运行
fengzhenging 发表于 2013-3-2 15:21:46
百科了一下gcc,发现其不止支持windows,更主要是在unix系统上运行,猜测sleep语句只能在windows上运行,而在unix上应该是不同表示,不知道猜想对不对
啊哈磊 发表于 2013-3-2 14:35:40
fengzhenging 发表于 2013-3-2 14:29
谢谢,成功了。另外问一下,为什么要这要做啊?能否具体讲一下。

这是参照gcc的标准
fengzhenging 发表于 2013-3-2 14:29:20
啊哈磊 发表于 2013-3-2 14:07
如果要用sleep,首选Sleep(5000);的第一个S要大写,第二需要在开头添加#include

谢谢,成功了。另外问一下,为什么要这要做啊?能否具体讲一下。
啊哈磊 发表于 2013-3-2 13:02:51
如果要用sleep,首先Sleep(5000);的第一个S要大写,第二需要在开头添加#include<windows.h>
快速回复 返回顶部 返回列表