一直在想这篇文章该不该写,因为这篇文章更像是教你如何使用一个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的更多相关文章

  1. Centos环境下部署游戏服务器-软件安装

    这篇文章主要介绍一下游戏服务器需要安装的软件和需要修改的配置.现介绍下项目,本项目服务器端是c++ + mysql组合,客户端是as写的,需要安装的服务为Mysql,Php,Apache, 以及一个n ...

  2. Centos环境下部署游戏服务器-常用命令

         图1     在Linux的世界,如果你不玩命令,那你见了同行都不好意思和人家打招呼.同时服务器正常状况下放在远端,一般都是开ssh登录服务器,相信远程桌面的人很少见吧.这篇文章说说Linu ...

  3. Centos环境下部署游戏服务器-自动化

    计算机是没有智力的,只会接受指令,运行指令,得出结果.因此就算你让它重复做一件事多少次,它也学不会自动去做这件事.对于重复繁琐的事情,做为一个懒惰的程序员,必须告诉机器去做这件事情,然后就行了,而不是 ...

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

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

  5. Centos环境下部署游戏服务器-权限

    部署Web服务器的时候,在"DocumentRoot"指向的根目录新建一个文件夹,然后将网页和资源放在这个文件夹里,通过地址http://192.168.0.100/Res/ind ...

  6. Centos环境下部署游戏服务器-简介

    一.前言      在接触这个操作系统之前我一直使用的是ubuntu和mac os,这次由于游戏是测试版本,没有专业的运维人员去做这件事情,只能我这个稍微懂一点linux的人来做这件事情了.由于涉及到 ...

  7. Centos环境下部署游戏服务器-iptables

    简介:   图1        Centos做为服务器级操作系统,防火墙是不可缺少的.防火墙的主要功能为控制进出网络包,防火墙就如小区门卫的工作职责,检查出入小区居民的身份,如果不符合小区门卫管理条例 ...

  8. Centos环境下部署游戏服务器-SVN

    版本控制工具的文章已经被写滥了,所以本篇文章不想介绍如何安装Svn如何可视化操作这些东西.本篇文章讲述我自己对Svn的理解,以及在命令行下操作.为啥不应可视化界面?有两方面的原因,远程登录到服务器都是 ...

  9. Centos环境下部署游戏服务器-SSH

    在这个*nix大行其道的年代,SSH绝对值得你拥有,虽说它的语法真的很简单,可用途相当大.比如说你在登山,突然公司一个电话告诉你服务器出问题了,在登山的过程中,肯定不能背个几公斤的笔记本吧,这个时候只 ...

随机推荐

  1. 调用webservice客户端方法 runtime modeler error: Wrapper class ××× is not found. Have you run APT to generate them?

    用wsimport生成webservice的客户端以后,调用客户端生成方法时总是出现 runtime modeler error: Wrapper class stardand.nrcms.nckin ...

  2. [SSH服务]——SSH端口转发

    实验拓扑图 实验描述 假设有三台主机A.B.C.B和A.C可以连通,AC两台主机不能连通. 这时候可以用本地端口转发,来实现A和C通过B来连通. 实验中,为了构造上述环境,我们使用三台虚拟机,其网络环 ...

  3. java rest框架jersey数组单记录问题解决

    JAVA数据接口采用jersey技术,可以返回xml,json等格式,可以根据客户端请求accept,如:Application/json,Application/xml 来得到不同的接口数据,非常好 ...

  4. 快速排序QuickSort

    前几天实现了直接插入排序.冒泡排序和直接选择排序这三个基础排序.今天看了一下冒泡排序的改进算法,快速排序.单独记录一下,后面还有归并和基数排序等 快速排序 1.选择一个支点默认为数组第一个元素及arr ...

  5. 团队项目NABC分析

    我们的团队项目是“来用”实用工具集合软件,我针对我们项目功能丰富的特点进行NABC分析. N (Need 需求):我们的软件正是从最大程度上满足用户需求出发,因为软件集合了不同种类的功能,可以满足用户 ...

  6. 文本阴影text-shadow

    文本阴影text-shadow text-shadow可以用来设置文本的阴影效果. 语法: text-shadow: X-Offset Y-Offset blur color; X-Offset:表示 ...

  7. 如何写一个漂亮的Liferay Theme 6.2

    只要你看到的.想做出来的页面,都可以通过liferay theme来实现,至于具体实现凡方式,那就见仁见智了. 下面,我将介绍如何快速地建一个简单漂亮的liferay theme. 工具:lifera ...

  8. android 开发怎么让程序生成的图片文件不会被系统扫描到

    我们在写应用的时候,可能会保存很多图片,大的小的,仅仅是我们的应用中会用到,处于种种原因不希望用户看到,我是觉着如果被用户看到了,就失去了我的应用的那一层神秘的面纱,用户是米有闲情逸致去打开你一层层的 ...

  9. css图片切换效果分析+翻译整理

    Demos:http://tympanus.net/Tutorials/CSS3SlidingImagePanels/ 出处:http://tympanus.net/codrops/2012/01/1 ...

  10. Ubuntu下配置Docbook环境

    1.准备环境 $sudo apt-get install xsltproc $sudo apt-get install docbook-xsl $sudo apt-get install docboo ...