主题:将Lunix系统下的Fortran语言转到windows系统 有偿
木子俊郎
[专家分:0] 发布于 2010-09-23 19:50:00
大侠好,现手头有两个程序,都是和C语言混合编程调用数据文件进行计算并生成数据文件的程序,是Lunix系统下的,现想转到windows系统,两个程序转好我出价5k,由于程序不能外传,所以要求在上海的高手见面解决了。我QQ846657718,有意者详聊
回复列表 (共5个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2010-09-23 22:26:00
F應該不需要改,C可能需要做小改動。您可以先直接編譯試試:)
板凳
f2003 [专家分:7960] 发布于 2010-09-25 10:04:00
这种事情,多半都是小case,上个月我刚刚把一个7000行代码的程序从Windows平台转到Linux, 费时仅1天而已.
有兴趣的朋友可以分享我的经验:
1, 如果有文件操作, 那么Window/Linux的目录结构不同, 比如Win下以C:\之类开头.
更要注意的是Win下分隔符是\, Linux是/, 移植的时候, 建议单独另写一个模块存放全局变量, 定义常数SLASH, 可以根据平台不同其值为/或者\
2, 文件单记录的长度不同.
如果有随机存取, 那么OPEN语句中必须定义记录长度。 一个32位的整数或者浮点数, Win编译器多定义为长度为1, 而Linux编译器多定义为4,
这个可能不是绝对的, 看编译器文档.
3, 外部操作调用的命令不同
有的时候需要call system 调用外部命令, 两个平台下的命令当然不一样了. 但是都有等价物的, 绝对没问题.
4, 编译器、库之间的移植,
诸如计算运算时间,得到当前日期,生成随机数等等。
要看两个编译器的文档,找到等价物,一般也都能。特别地, 由于intel 和compaq编译器的继承关系,使用同一家族的编译器可以省去一些麻烦。
也许还要注意库的版本,比如新老版本的IMSL的接口稍有不同,对着文档一处一处修改即可。
移植工作一般难度不大,最怕的是程序有问题,算法有问题,那就比较麻烦了。所以楼主最好SURE你的程序在LINUX下能跑,结果正确。
仅供参考,有时间有兴趣的朋友上吧。练手还赚5K,为什么不呢。我要是在上海,就接了这个活儿。
3 楼
yeg001 [专家分:14390] 发布于 2010-09-25 11:38:00
之前帮忙调试别人的一个程序的时候发现, 文件路径在windows下使用用形如: ./data 照样可以.
偶到资源管理器上的d盘试了一下 C:/ 同样可入C:\
不知道是有那个版本windows开始能这样用的.
我测试的编译器是cvf(仅仅做测试用, 不进行计算), 操作系统win7
4 楼
cgl_lgs [专家分:21040] 发布于 2010-09-25 11:38:00
嗯,F的程序一般还好,只要不是涉及到GUI或是调用系统API的基本没什么问题:)麻烦就麻烦在C,用C的往往会有很多系统调用。比如*NX的往往有fork等东东,但在WIN下是没有与之对应的东东的:)
5 楼
dongyuanxun [专家分:7180] 发布于 2010-09-25 15:31:00
没有X11的东西就好多了
我来回复