下载此文档

我的服务端之C++游戏服务端防崩溃.pdf


文档分类:生活休闲 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
一头汗的专栏
有用用之,无用弃之
我的服务端之C++游戏服务端防崩溃
分类: 我的服务端 C/C++ 2013-12-07 00:03 729人阅读评论(0) 收藏举报
c++Linux服务端崩溃signal
在游戏开发当中,不用我多说了,游戏的稳定性是相当重要的。
为了追求游戏的稳定性,很多开发者都会选择脚本语言作为游戏的主要开发语言。因为使用脚本语言,即使游戏出
现重大的bug,由于脚本支持热更的天然优势,使开发者更迅速地解决问题;而且脚本的良好容错性,也会使游戏系
统不会轻易崩溃。但是,一些即时性游戏需要更高性能的,开发者可能会选择C/C++作为开发语言,但是怎样来保证
游戏的稳定性呢?
关键词是信号
其实在Linux系统中防崩溃的相关内容,我已经在以前的一篇博文粗略提及过。下面再更详细地描述一下。
#ifndef SHOWCRASH_H
#define SHOWCRASH_H
#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
#include <string>
#include ""
#include ""
using namespace std;
class ShowCrash
{
public:
ShowCrash();
static void CrashFunction(int);
static const int MAX_JMP_BUF = 16;
static const int MAX_CALLSTACK_DEPTH = 32;
enum buffername
{
BUF_MAIN ,
BUF_COUNT
};
private:
};
extern int buf_index;
#define SETJMP(index)\
setjmp(buff[index]);\
buf_index = index;\
extern ShowCrash g_showcrash;
1
extern jmp_buf buff[ShowCrash::MAX_JMP_BUF];
#endif
#include ""
ShowCrash g_showcrash;
jmp_buf buff[ShowCrash::MAX_JMP_BUF];
int buf_index;
ShowCrash::ShowCrash()
{
struct sigaction act, oact;
= CrashFunction;
sigemptyset(&); //娓呯┖姝や俊鍙烽泦
= SA_NODEFER;
sigaction(SIGINT, &act, &oact);
sigaction(SIGABRT, &act, &oact);
sigaction(SIGSEGV,

我的服务端之C++游戏服务端防崩溃 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人翩仙妙玉
  • 文件大小0 KB
  • 时间2013-12-22
最近更新