代码编译总结

原创
2017/03/06 15:52
阅读数 75

    想打算搞一款属于自己的游戏,如果自己手写的话,还真没有那个实力,因为不仅仅是程序的技术实现,框架实现,还有数值系统,自己的功力尚浅,所以就拿别人的东西来试试手。然后自己就选择了一款比较早的开源游戏,M.A.R.S(有兴趣的童鞋可以自己百度)。

    别看老外程序员的工资蛮高的,其实不必国内的生存环境好多少,他们的高收入上面对软件以及互联网的各种收费不比低收入的国内程序员强多少(国内各种破解,盗版等等啦)。对于操作系统即是如此,老外热衷于linux,在国内看来,linux博大精深,搞linux的都是大神,哈哈,这其实是种误解,linux在服务器上的应用确实强大,但是别的地方特别是家用的,linux没什么优势,那些老外搞得linux上的各种办公软件只能证明他们就是屌丝,用不起windows,(毕竟2000块钱呢),而我们就不一样了,我们可以用各种注册和破解。所以老外的开源项目linux平台上的其实是蛮多的。话所回来,这款游戏虽然能跨平台,但是作者只给了linux的支持,而我需要把他改成windows版本。

    那么linux迁移到windows平台上一般会遇到哪些问题呢?

        1.编译器不一样(GNC和vs平台的差异,包括语法,包括支持库的不同)

        2.项目的配置。

当然我这里还好,没有遇到那么多的问题,游戏项目还算工整,我就把在luban的那种项目配置方式拿过来用了,然后把代码 头文件,lib文件都分开放入各自的目录中,然后依赖项sfml放好。而taglib,fribidi两个库没有windows版本,这两个库分别是用作播放声音和编码转换用的,分析游戏框架即可知道,这两个东西只在文件加载和播放声音的地方试用了下,这里打算替换为自己的。

        3.就是编译时目前只支持多字节,不支持unicode.然后就是配置的时候需要加入宏定义。 有:_USE_MATH_DEFINES,__WIN32__,WIN32。

          其中替换fribidi的时候,文件编码的转换,遇到了很大的一个坑,还有就是分析函数的作用那里遇到了一些问题,最好才定位明白。

在这里需要具备一些能力:

        1.函数的准确定位功能。

        2.分析代码,需要分析一些宏是否要加好。

        3.模块之间的依赖关系。

        4.代码错误之后的,定位分析能力。

    

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部