Centos环境下部署游戏服务器-编译

     游戏服务器是在windows环境开发的,相关跨平台的东西在这里不谈了,只谈如何将Visual Studio 工程转换到Linux下编译。这里涉及到的软件分别为:Centos版本为6.4,Visual Studio 2008,Eclipse cdt。

     为了后面的知识容易理解,先简单说下C++编译原理,有四个过程。


1、预处理,通过预处理器(cpp)将宏展开,同时插入include包含的头文件
     $cpp test.cc >test.i
2、编译,将预处理文件编译成汇编文件
     $gcc -s test.i
3、汇编,将汇编代码转换成机器码
     $as -o test.o test.s
4、链接, 链接器将机器码和库文件生成可执行文件。
     $ld -o test test.o
     这个是整个编译过程,只不过在ide环境下,你只需要摁一下F5程序就自动启动了。但后面的细节又有几个人知道呢?由于我所在的项目工程文件非常大,这里提醒下大家尽量少用Visual Studio的虚拟目录。在你构建工程的时候确实用的很高兴。但是用gcc去编译的时候,痛苦不堪,自动生成makefile是根据当前目录CC文件生成makefile的。如果引用外部文件的话,如果在工程里一处引用那也好,可我们工程里一个文件夹,几处引用,并且还要排除掉不用的CC文件,这就需要一个个目录去查看那里引用,把没引用的排除出去。
     上面的编译只是最简单编译单个文件的过程,一个大型项目肯定没这么简单,比如会依赖第三方库,thread,mysql,cryopt,json。。。,还有编译优化级别,是否调试版本。这些对应vs里都有相应可视化配置的地方。但如果你不理解整个编译过程,很容易有遗漏的过程,同时换个新的ide你会很迷茫,这个软件如何下手。但是如果你在gcc下编译个比较大的项目,或者自己写过比较复杂的makefile,无论软件换成啥样,你只要简单看下文档,很快就会对这种ide上手,因为你知道需要添加什么,只要找到地方就可以了。
     这里再看一下gcc几个简单的参数:
     gcc -I/include  -O2 -Wall -g test test.cc -L/lib -lpthread
     1、-I 去相应目录查找头文件
     2、-O2 优化级别为2,对应release版本的优化级别
     3、-Wall 输出所有警告信息
     4、-g 生成gdb可调式执行文件
     5、-L 去对应目录搜索库文件(a 或 so 文件)
     6、-l 包含的库文件
     明白了这些参数的含义,以及编译过程,剩下的事情就是在eclipse里实战了。下篇文章讲述,eclipse编译vs工程的过程和技巧。 
参考: http://www.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html  

转载于:https://www.cnblogs.com/fengju/p/6174322.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值