|
本帖最后由 baikunlun 于 2019-7-18 13:45 编辑
这是个老贴了,我搜fbinst源码找到这里的,拿到源码就放Linux里面试了试,确实是因为64位GCC问题,强制m32编译是可以运行的,可以列出所有磁盘,但是无法进行其它操作了,貌似不能使用括号当做参数。看来移植还有很多工作要做。
- [user@bogon fbinst]$ sudo ./fbinst -l
- [sudo] password for atmuser:
- (hd0): 37748736 (18g)
- (hd1): 1048576 (512m) *
- (hd2): 14770176 (7g) *
- [user@bogon fbinst]$ sudo ./fbinst (hd2) info
- bash: 未预期的符号 `(' 附近有语法错误
- [user@bogon fbinst]$
复制代码
在参数处理中做了下兼容,哈,可以了,更多idea等待开启
- xd = xd_open (argv[i], 1);
- #if defined(LINUX)
- char str_hd[24];
- sprintf(str_hd,"%s%s%s","(",argv[i],")");
- xd = xd_open (str_hd, 1);
- #endif
- if (! xd)
- quit ("open %s fails", argv[i]);
- [user@bogon fbinst]$ sudo ./fbinst hd2 info
- version: 1.7
- base boot sector: 63
- boot code size: 4
- primary data size: 16128
- extended data size: 0
- debug version: no
- bpb status: init
- format options:
- file list size: 896
- file list used: 1
- files:
- 1* 0x3c4 0x3b3c
- primary area free space: 7733640
- extended area free space: 0
复制代码
拿到windows后,使用mingw32 + gcc-4.8.1 编译, 一堆的错误,怎么办,大神给个提醒啊 |
|