![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++游戏开发
星伊
骑着蜗牛的菜鸟想狂奔..
展开
-
【分析总结框架记录】boost使用
使用boost向回调函数传值[html] view plaincopyprint?Function(boost::bind(&callback,_1,_2,yourParam1, yourParam2)) // _1,_2是占位符,表明callback本来需要的参数,这里对应int a int b 两个 void callback(转载 2015-06-26 11:36:20 · 478 阅读 · 0 评论 -
【分析总结框架记录】开发环境搭建3
测试Glog是否安装成功:测试文件:[cpp] view plaincopyprint?#include #include using namespace std; int main() { google::InitGoogleLogging(""); googl转载 2015-06-26 11:26:37 · 208 阅读 · 0 评论 -
【分析总结框架记录】对通信数据包进行打包
在章节6 我们实现了利用protbuffer进行数据传送。在实际传送过程中,我们往往还需要对数据添加一些额外的信息,以便接收方能正确处理该数据包。对此,可采用一些符合自定义要求的结构。这里就以如下结构作为代表:其中msgId代表该协议对应的消息Id, bodyLength表明body占用长度, serialNo对应请求序列号,sessionId,对应回话Id, fro转载 2015-06-26 11:29:49 · 421 阅读 · 0 评论 -
【分析总结框架记录】如何使用automake来管理你的编译
原文作者:赵杨很多入门级Linux编程书籍并没有透露:其实你不用手动编写Makefile文件,GNU老早就提供了一套好用的工具链,可以很方便的生成Makefile文件。 �0�2 你一定知道Linux下很多软件包,特别是GNU的,安装一般只需要执行命令:./configure; make install; 即可方便的完成源码的编译和安装。听说这叫做符合GNU规范的软件源码包 �0�2 这篇翻译 2015-06-26 11:31:16 · 346 阅读 · 0 评论 -
【分析总结框架记录】开发环境搭建4
测试boost是否安装成功:测试源码:[cpp] view plaincopyprint?#include using namespace boost; using namespace std; int main() { cout (12.2); return 0; }转载 2015-06-26 11:27:56 · 296 阅读 · 0 评论 -
【分析总结框架记录】开发环境搭建2
测试zmq是否安装成功:zmqClient.cpp:[cpp] view plaincopyprint?#include #include #include int main() { zmq::context_t context(1); zmq::socket_t sock转载 2015-06-26 11:24:13 · 245 阅读 · 0 评论 -
【分析总结框架记录】引用和指针在交换中的区别
1.首先我们来先看看一个使用引用来交换的例子#define DEMO 1#include using namespace std;void ptr_swap( int &v1, int &v2){ v1=v1+v2; v2=v1-v2; v1=v1-v2;}int main(){ int ia = 1; int ib = 2; c转载 2015-06-26 11:40:05 · 229 阅读 · 0 评论 -
【分析总结框架记录】使用distcc进行分布式编译来提高编译速度
最近公司的项目快上线了《战甲online》 由于在GameServer中添加的业务模块太多,导致编译速度越来越慢。早期的时候通过C++的前置声明可以提高一些。但是后期发现还是跟不上。 公司的主程安排我来搭建一个分布式编译环境。环境:centos6.3 1. 要使用distcc当然需要先去安装。这里使用官方源码编译安装。 下载地址:https://code.google.com/p/转载 2015-06-26 11:40:40 · 2398 阅读 · 0 评论 -
【分析总结框架记录】异步操作
对于游戏开发而言,经常使用到异步相关操作,因此在使用moduleframework之前应该提供一个异步操作的类。 以后相关的异步操作均继承这个类AsyncOperation:先贴出代码:[cpp] view plaincopyprint?#ifndef __ASYNC_OPERATION_H__ #define __AS转载 2015-06-26 11:30:44 · 255 阅读 · 0 评论 -
【分析总结框架记录】基于ZMQ的游戏网络层基础架构
对于内网服务器的通信采用zmq来进行,对于和客户端的通信采用boost的asio来。这里先来搭建zmq的基础结构。zmq相关的知识可以去zmq官方网站查询。这里使用zmq的push 和pull来进行通信。先放一张结构图:其中PushZmq是推管道, PullZmq是拉管道:对于Push的流程是:zmq_init()----> zmq_so转载 2015-06-26 11:28:47 · 470 阅读 · 0 评论 -
程序员开发过程中基本注意点
1. 内存相关 可使用内存检测工具(valgrind) 推荐没做完一个模块之后 都运行检查一次2. 使用队列 注意循环调用和回调思想3. 第三方开源库的使用 4. 使用静态代码分析工具 分析可能出现的笔误 如 pvs5. 各个环节的测试, 比如通讯框架搭建好后,一定完整全面的测试 保证底层的稳定,否则上层查找bug很困难6. 协议设计中考虑被攻转载 2015-06-26 11:07:34 · 487 阅读 · 0 评论 -
【Linux学习记录】Linux系统架构与目录解析读书笔记_第1至第6章
第一章Linux启动流程图系统使用mount可产生根目录加载示意图根目录:一个目录中最基本的地址代号,理解为最顶层的目录。FHS:FileSystem Hierarchy Standard Group 定义Linux标准的目录结构第二章 不转载 2015-06-26 11:42:03 · 438 阅读 · 0 评论 -
【分析总结框架记录】tinyxml库使用
[html] view plaincopyprint?span style="font-family: Arial, Helvetica, sans-serif;">tinyxml是c++中用来解析xml的工具库span> [cpp] view plaincopyprint?#ifnd转载 2015-06-26 11:39:32 · 287 阅读 · 0 评论