标题:[讨论]C程序移植到UNIX系统应注意的问题??
只看楼主
lglupc
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-7-21
 问题点数:0 回复次数:5 
[讨论]C程序移植到UNIX系统应注意的问题??
大家好,我是个菜鸟,最近工作中遇见一个问题,请各位大侠不吝赐教!!感激涕零!
问题是这样的:微机上的程序如果直接移植到SUN工作站上的UNIX系统是不能运行的,比如说,微机上最普通的注释符//和/* */在工作站上是不可用的,还有要是程序中遇到“math.h”,定义的函数,在UNIX系统中编译的时候必须加一个库函数-lm,否则是要出错的。当然还会有其他的不兼容问题,我希望在这方面有经验的大侠能帮我们总结总结,给我们这些初学者指指路,教我们两招,不胜感激!
我在此抛砖引玉,请大家赐教,谢谢!
搜索更多相关主题的帖子: UNIX 系统 移植 
2007-08-02 11:00
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
得分:0 
??为什么//和/**/不能用,我在linux的每个版本上都用过,可以啊,
UNIX也应该是可以的
头文件是有不用,windows的图形头文件和linux/UNIX就不一样
但他们都是标准C,有80%一样

在写可要移植系统的程序时,在不同系统有不同的地方时,用宏定义的方式分开写就行,编译的时候就会根据宏定义来编译不同的部分

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-08-02 17:41
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
得分:0 
其实不止移植系统是,会出现问题,在不同机器,64位,32位等,也会有这样的问题

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-08-02 17:57
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
得分:0 
这才是宏定义的真正用处.

深山苦学C语言,终年不见外面世界。
2007-08-02 18:24
lglupc
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-7-21
得分:0 

嘿嘿,谢谢

2007-08-09 19:20
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
得分:0 
据说下一个c标准要加入//注释定界符。

linux中用的是GCC,gcc对ANSIC99进行了扩展,把C++中的//注释定界符,inline加到了c里头,所以每个linux中//都可以用,在UNIX中不用GCC的情况下就不行了。

移植问题不是几句话就能说清楚的。简单的说,如果你的C程序和ANSI/ISO C是100%兼容,那么你的程序在任何系统都可以获得源代码级的移植性,包括linux,unix,windows甚至是单片机。不过只用ANSI/ISO C规定的那几个库函数干不了什么有用的事,确定只在Unix/Linux平台运行的话,调用符合POSIX标准的系统接口是没有问题的。这说的都是源代码可以移植,想编译后的程序可以移植就只有一个选择,用JAVA. only you,JAVA!
2007-08-09 19:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-159857-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036389 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved