分页: 1 / 1

[问题]一个我不能理解的问题

发表于 : 2007-08-22 22:14
levin
前几天我看到了论坛里的教用dosbox玩仙剑以及怎么用vim修改存档的帖子
我照着帖子上说的试了一试,依照它的办法我的确找到了各种物品的位置,然而我修改后却发现不能载入存档了(具体说有声音 没图像)
其实我并不是一个喜欢玩游戏用修改器的人,所以这个问题就不了了之了

我这两天在学习C++,一次无意中用vim打开了编译后生成的可执行文件(a.out),发现它和我用vim打开的仙剑存档很相似,于是我便用:%!xxd 命令使其转换为16进制代码,果然可以。但当我保存这个文件后再用vim打开它后 用命令%!xxd -r 使其变为原来的模样,保存后我发现这个文件已经不能执行了,系统报错can not execute binary file.

而这个报告的错误 恰好与我想运行一个在网上找到的某软件的二进制代码包(已经加过执行权限)一样

请好心人大概给我说说这个问题吧

发表于 : 2007-08-25 20:57
levin
看来还是得自己顶

Re: [问题]一个我不能理解的问题

发表于 : 2007-08-25 21:08
janker2lonely
levin 写了:前几天我看到了论坛里的教用dosbox玩仙剑以及怎么用vim修改存档的帖子
我照着帖子上说的试了一试,依照它的办法我的确找到了各种物品的位置,然而我修改后却发现不能载入存档了(具体说有声音 没图像)
其实我并不是一个喜欢玩游戏用修改器的人,所以这个问题就不了了之了

我这两天在学习C++,一次无意中用vim打开了编译后生成的可执行文件(a.out),发现它和我用vim打开的仙剑存档很相似,于是我便用:%!xxd 命令使其转换为16进制代码,果然可以。但当我保存这个文件后再用vim打开它后 用命令%!xxd -r 使其变为原来的模样,保存后我发现这个文件已经不能执行了,系统报错can not execute binary file.

而这个报告的错误 恰好与我想运行一个在网上找到的某软件的二进制代码包(已经加过执行权限)一样

请好心人大概给我说说这个问题吧
1、修改完存档后保存没有?
2、a.out是二进制文件,虽然你在vim里保存了,但是文件的数据发生了变化,因为a.out是你用编译器生成的,而vim保存文件的算法不太可能跟编译器相同。你可以利用a.c的源文件编译连接重新生成a.out,然后你比较一下编译器生成的a.out和用vim保存的a.out的md5码是否相同就明白了。

发表于 : 2007-08-25 21:16
xhy
:set fileencoding=latin1


默认的utf-8编码是不行的

发表于 : 2007-08-27 23:51
levin
谢谢拉~