+ -
当前位置:首页 → 问答吧 → 请教cygwin和linux的不同

请教cygwin和linux的不同

时间:2011-02-22

来源:互联网

最近在看linux c编程一站式学习, 里面有个汇编程序:

//hello.s 
.section .data
.section .text
.global _start
_start:
movl $1,%eax //设置中断的参数
movl $4,%ebx //设置返回状态码,就是4
int $0x80

编译和运行:
as hello.s -o hello.o
ld hello.o -o hello
./hello
echo $? //这步,在windows下,Vmware内的ubuntu确实得到4,但是在cygwin下得到127。

我想请教一下大侠 为何会得到不同的返回结果呢?

作者: cling2zard   发布时间: 2011-02-22

cygwin与Vmware不同。 cygwin只是模拟了unix的某些特性,比如可以使用很多unix工具等,但是在cygwin下编译的程序与真实的linux/unix是不用的,在cygwin下编译的可执行文件都是PE32的。不会生成linux下ELF格式的可执行文件。 就知道这么点。

作者: masmaster   发布时间: 2011-02-22

学习了,我看的时候,没有在cygwin下模拟,还好你提出来了,不然又漏掉了,!!

作者: yskcg   发布时间: 2011-02-22