Centos环境下部署游戏服务器-Eclipse
一直在想这篇文章该不该写,因为这篇文章更像是教你如何使用一个ide这种文章,毫无价值可言。但思来想去还是应给写。上篇文章主要说了编译原理和过程,这篇文章就是理论联系实际的典范。并且很多工程师一辈子都不会有这样的经历,写下这篇文章,对那些刚刚接触到Linux,用eclipse编程的人是有一定帮助的。并且对如何把Visual Studio 工程转移到Linux下编译是有一定参考价值的。
1、Debug 和 Release
在Visual Studio里直接在编译选项里就可以转换编译模式了,其实本质区别就是上一篇文章里涉及到的gcc配置不一样。Debug模式生成的可执行文件是带有调试信息文件,所以你可以在调试的时候和源码同步调试。而Release模式生成的可执行文件不会生成调试文件,并且代码是经过编译器优化的,代码已经是被修改过的。生成的运行速度和大小是有明显区别的。我所在的项目可执行文件在Release模式下小了一半,启动速度加快了三分之二。这个是生成文件的区别,但是观察gcc其它参数,还可以配置其它信息,比如说可以添加编译时的符号,可以配置Debug和Release引用不同库文件。在Linux版的eclipse下没有默认的Debug和Release配置,需要自己手动写配置。我下载的最新mac版是可以直接选择的。
图一
2、MakeFile
由于工程是从Visual Studio工程移植过来的,所以需要设置自动生成makefile。makefile其实就是编译规则,这个也是可以单独写一篇文章的,这里先不说了。
图二
3、Include
程序编译的时候去查找头文件的地方,在选择添加到目录的时候一定要选择所有语言,因为C++里很有可能用到了C语言的特性,也可以直接添加汇编语言。
图三
由于工程项目里有很多目录,所以必须手动添加头文件查找目录,这个时候有个技巧,就是打开vs的项目工程文件,配合vim很容易导出eclipse需要包含文件配置。如果不知道eclipse配置文件格式,可以先在eclipse里添加一个配置文件,然后在导出。这样就知道eclipse配置格式了,观察发现eclipse头文件写在三处。还有symbols,都可以在配置里直接配置。
4、Symbols
gcc里的-D选项,就是自定义宏,这个的用处很多,比如你Linux和Windows网络库不是一套代码,你可以在调用位置,用宏隔开,在编译windows的时候定义WINDOWS宏,编译LINUX的时候定义LINUX宏,调试模式加DEBUG宏,不想调试模式添加NDEBUG。
图四
5、Libraries 和 Library path
Library path很好理解,就是去对应的目录查找对应的库文件,Libraries这个比较特殊,在windows下你写什么名字,在编译过程中就去对应目录查找,但在Linux下Libraries对应Gcc里的-l 选项,在加载对应库文件(so, a)都是在选项前面加lib在结尾加.a,比如工程依赖一个库文件libpthread.a那我需要写成pthread就可以,这样在链接库文件的时候才可以找到。
图五
6、Source Location
这个功能用来定位源码位置的,默认情况下工程生成makefile是查找所有工程下的cc文件生成makefile,如果引用外部文件就需要在这里添加,并且还提供筛选功能,比如你引用外部一些文件,需要排除出去,这时候就可以用filter功能。
图六
本文完,这下我和我的小伙伴们再也不用害怕这些看起来很复杂,功能巨无霸的IDE了, 其实他们只不过是给大家提供了可视化操作的页面,让大家更加高效便捷的去完成事情。如果对它地层所涉及的知识不清楚,用工具只能带来更多困扰。如果对背后运行的原理和技术很熟悉的话,不管IDE如何变化,都要遵循这些原理,不管操作系统如何变化,整个计算机理论知识暂时是不会被颠覆的,所以说在学习的时候一定要知其所以然,这样才能走的更远。
Centos环境下部署游戏服务器-Eclipse的更多相关文章
- Centos环境下部署游戏服务器-软件安装
这篇文章主要介绍一下游戏服务器需要安装的软件和需要修改的配置.现介绍下项目,本项目服务器端是c++ + mysql组合,客户端是as写的,需要安装的服务为Mysql,Php,Apache, 以及一个n ...
- Centos环境下部署游戏服务器-常用命令
图1 在Linux的世界,如果你不玩命令,那你见了同行都不好意思和人家打招呼.同时服务器正常状况下放在远端,一般都是开ssh登录服务器,相信远程桌面的人很少见吧.这篇文章说说Linu ...
- Centos环境下部署游戏服务器-自动化
计算机是没有智力的,只会接受指令,运行指令,得出结果.因此就算你让它重复做一件事多少次,它也学不会自动去做这件事.对于重复繁琐的事情,做为一个懒惰的程序员,必须告诉机器去做这件事情,然后就行了,而不是 ...
- Centos环境下部署游戏服务器-编译
游戏服务器是在windows环境开发的,相关跨平台的东西在这里不谈了,只谈如何将Visual Studio 工程转换到Linux下编译.这里涉及到的软件分别为:Centos版本为6.4,Visual ...
- Centos环境下部署游戏服务器-权限
部署Web服务器的时候,在"DocumentRoot"指向的根目录新建一个文件夹,然后将网页和资源放在这个文件夹里,通过地址http://192.168.0.100/Res/ind ...
- Centos环境下部署游戏服务器-简介
一.前言 在接触这个操作系统之前我一直使用的是ubuntu和mac os,这次由于游戏是测试版本,没有专业的运维人员去做这件事情,只能我这个稍微懂一点linux的人来做这件事情了.由于涉及到 ...
- Centos环境下部署游戏服务器-iptables
简介: 图1 Centos做为服务器级操作系统,防火墙是不可缺少的.防火墙的主要功能为控制进出网络包,防火墙就如小区门卫的工作职责,检查出入小区居民的身份,如果不符合小区门卫管理条例 ...
- Centos环境下部署游戏服务器-SVN
版本控制工具的文章已经被写滥了,所以本篇文章不想介绍如何安装Svn如何可视化操作这些东西.本篇文章讲述我自己对Svn的理解,以及在命令行下操作.为啥不应可视化界面?有两方面的原因,远程登录到服务器都是 ...
- Centos环境下部署游戏服务器-SSH
在这个*nix大行其道的年代,SSH绝对值得你拥有,虽说它的语法真的很简单,可用途相当大.比如说你在登山,突然公司一个电话告诉你服务器出问题了,在登山的过程中,肯定不能背个几公斤的笔记本吧,这个时候只 ...
随机推荐
- QtSpim实现MIPS指令的编写
QtSpim实现MIPS指令的编写 由于各种对齐问题,cnblogs的格式难以控制,故贴图片,谅解.
- JavaScript 函数调用
JavaScript 函数有 4 种调用方式. 每种方式的不同方式在于 this 的初始化. this 关键字 一般而言,在Javascript中,this指向函数执行时的当前对象. 注意 this ...
- storm集成kafka
kafkautil: import java.util.Properties; import kafka.javaapi.producer.Producer; import kafka.produce ...
- jQuery Dialog弹出层对话框插件
Dialog.js的相关注释已经添加,可以按照注释,进行相关样式的修改,适用于自定义的各个系统! dialog.js /** * jQuery的Dialog插件. * * @param object ...
- 【概率DP/高斯消元】BZOJ 2337:[HNOI2011]XOR和路径
2337: [HNOI2011]XOR和路径 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 682 Solved: 384[Submit][Stat ...
- 了解javascript中的事件(二)
本文目录如下: 零.寒暄 一.事件的分类 二.事件代理 2.1 问题引出 2.2 什么是事件代理 2.3 完整示例 二.事件代理 三.事件代理思想的用处 四.总结 零.寒暄 这篇博客本该出现在两个月以 ...
- 使用开关、分段控件和web视图
#import "XViewController.h" @interface XViewController () @end @implementation XViewContro ...
- google大赛 入围赛250分真题
Problem StatementYou have a collection of music files with names formatted as "genre-artist-alb ...
- LUCAS 定理
原来一张图就就能证明:C(N,M)%P,p是素数. 简直太炫酷 先膜拜会 #include<iostream>#include<cstdio>#include<ctime ...
- webservice wsdl 生成服务
由于之前的示例是在当前项目下发布的server,也是在当前项目下访问的server发布的webservice.但在实际应用中,我们的服务端往往是和客户諯分离的,甚至它们是不同的项目中不同的人写的.而像 ...