当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : cce2k能在64位系统下运行吗?
帖子发表于 : 2010-11-09 20:22 

注册: 2007-08-02 14:39
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
我想安装cce2k,使用论坛里arkansas_ubuntu提供的修改过的安装包,编译、安装都正常,但是运行的时候提示段错误(Segmentation Fault)。
请问有谁知道是什么原因吗?我的系统是Ubuntu 10.10 64位,是不是cce的源代码不支持64位的原因?需要对源代码再进行修改吗?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: cce2k能在64位系统下运行吗?
帖子发表于 : 2010-11-13 12:46 
头像

注册: 2010-05-18 10:00
帖子: 56
送出感谢: 0 次
接收感谢: 0 次
你好,我是在32位下的环境编译、运行通过的。我手头上没有64位的Linux机器。六月就有个网友给我发站内短信问是否只针对32位机器,现在随着64位机器的普及,看来这是个要解决的问题。我搜索了一下网络发现两个比较有针对性的网页,应该很有帮助,连接如下:
http://www.cyberciti.biz/tips/compile-32bit-application-using-gcc-64-bit-linux.html
引用:
How to compile a 32-bit application using gcc on the 64-bit Linux version
by VIVEK GITE · 17 COMMENTS
I had to compile a 32-bit application using GNU gcc on the 64-bit version Linux.

Luckily gcc man page directed me to -m32 and -m64 option. These options generate code for a 32-bit or 64-bit environments.

=> The 32-bit environment sets int, long and pointer to 32 bits and generates code that runs on any i386 system.

=> The 64-bit environment sets int to 32 bits and long and pointer to 64 bits and generates code for AMD's x86-64 architecture.

You can pass -m64 or -m32 as follows
For 32 bit version:
$ gcc -m32 -o output32 hello.c

For 64 bit version :
$ gcc -m64 -o output64 hello.c

And output is :
$ ./output32

Output:

Long int size is 4 bytes long!
Now let us see 64 bit output:
$ ./output64

Long int size is 8 bytes long!
Sample code - hello.c:

#include <stdio.h>
int main(){
long z; printf("Long int size is %i bytes long!\n", sizeof(z)); return 0;
}


第二个针对性的网页:
http://stackoverflow.com/questions/2500362/running-32-bit-assembly-code-on-a-64-bit-linux-64-bit-processor-explain-the-a

这里有重要的一句摘录:
As we know 64 bit processors are backward compatible with 32 bit processors. So, that also wouldn't be a problem. The problem arises because of differences in system calls & call mechanism in 64-bit OS & 32-bit OS.

因为我没有可以尝试的环境,还请你参照这两篇文章,无论成功与否把现象如上一帖一样发在这里,每个人的尝试和结果都很重要。人多力量大!你说呢?


_________________
Ubuntu论坛中的PLMM数目比Linux下的病毒数目还少,所以
就不用想了,如果你真的碰上了,恭喜,请执行以下命令:
sudo mount -t french /dev/mouth0 /mnt/kiss
french这个参数可以用man kiss查到。别忘了umount,否则
buffer内的数据会丢失。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译