自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 D3D Frustum六个裁剪平面生成原理

概念介绍 正在上传…重新上传取消 Frustum裁剪是CLOD中很重要的一个算法,很多文章都是一句话就过去,或者直接给出代码。但是数学推导很少给出,本文章的目的就是解释大家看这些代码中的疑问。 透视投影是将相机空间中的点从视锥体(view frustum)变换到规则观察体(Canonical...

2020-04-07 14:49:23 85 0

转载 socket程序listen之后,不写accept函数,会是怎样一种情况?

int listen(int sockfd, int backlog); 不accept 最大的监听个数就是这个backlog了 因为一直没有accept,所以这个里的队列会一直在,不会减少 虽然这个backlog是可以手动设置的,但是linux是最大值128 如果超过这个数目了,就是...

2016-03-11 14:49:00 360 0

原创 mysql5.7在win下安装

win7 64位下如何安装配置mysql-5.7.5-m15-winx64 距离上次安装MySQL已经过去好久了。步骤这些,有可能会忘记。简单记录一下吧。(参考了一些网络上的博客。) 1.mysql-5.7.5-m15-winx64.zip下载 官方网站下载地址:http://cdn.mys...

2016-03-10 23:20:04 405 0

转载 产生N个不重复的随机数的快速算法

int startArray[] = {0,1,2,3,<span class="number">4,5,6,7,8,9};<span class="comment">//seed arra...

2016-01-29 11:48:13 269 0

转载 Sublime Text 2支持GB2312和GBK,解决中文显示乱码问题

Sublime Text 2是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦。不过Sublime Package Control所以供的插件可以让Sublime Text 2几乎完美地支持CJK编码的文本。 安装Sublime Pack...

2016-01-09 09:43:55 318 0

转载 function_traits

template struct function_traits { private: using call_type = function_traits ; public: using return_type = typename call_type::return_type; ...

2015-11-28 13:32:11 956 0

转载 二分查找算法

int binary_search(int* a, int len, int goal) { int low = 0; int high = len - 1; while(low high) { int middle = (low + high)/2; if(a[middle] == goal...

2015-11-13 17:13:26 240 0

转载 c++实现读写共享锁

一、使用互斥锁和条件变量实现读写锁: [cpp] view plaincopy class readwrite_lock   {   public:       readwrite_lock()           : stat(0)       {       }   ...

2015-11-12 10:16:00 439 0

转载 Redis在游戏服务器中的应用

Agent`K 最近在使用Redis,忽然发现以前很多费神的事情都迎刃而解了,又应了经典:我们要做的99%的事情,别人都早已做过了! (扫盲:Redis是内存型、键值对型数据库,独立运行,不是第三方库) 排行榜 游戏服务器中涉及到很多排行信息,比如玩家等级排名、金钱排名、战斗...

2015-11-04 14:43:35 1175 0

转载 mongodb数据文件格式(二)

mongodb数据文件格式   本文适合于对mongodb有一定了解的朋友阅读。 mongodb的数据文件存在dbpath选项指定的目录里。每个库(database)都有一系列的文件:dbname.ns, dbname.0, dbname.1, ...数据文件也叫pdfile,意思是...

2015-10-20 19:38:49 657 0

原创 mongodb3.x认证

MongoDB-CR Authentication failed的解决方法: use admin db.system.users.remove({}) <== removing all users db.system.version.remove({}) <== removi...

2015-10-19 22:11:09 268 0

转载 mongodb数据文件格式(一)

有人在Quora上提问:MongoDB数据文件内部的组织结构是什么样的。随后10gen的工程师Jared Rosoff出来做了简短的回答。 每一个数据库都有自己独立的文件。如果你开启了directoryperdb选项,那你每个库的文件会单独放在一个文件夹里。 数据库文件在内部会被切分成单个的...

2015-10-14 20:35:40 5210 0

转载 VS2013将新建的源码文件的编码格式自动设置成UTF8

VS 2013 新创建的cpp和h文件默认是GB2312的,为适应国际化需求,现在都使用UTF-8格式,下面教大家设置为默认UTF-8 进入vs安装目录的 Microsoft Visual Studio 12.0\VC\vcprojectitems 用 VS2013打开 newc++f...

2015-10-11 20:09:16 356 0

原创 gdb打数据断点

超过4字节或8字节的那种断点,watch (char[28])*0x7fffffffe350

2015-09-21 18:59:55 351 0

转载 linux nc命令使用详解

功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g网关...>][-G指向器数目>][-i延迟秒数>][-o输出文件>][-p通信端口>][-s来源位址>][-v...][-w超时秒数>][主机名称][通信端口...] 参 数...

2015-09-14 20:08:12 415 0

转载 技巧:Linux 动态库与静态库制作及使用详解

标准库的三种连接方式及静态库制作与使用方法 Linux 应用开发通常要考虑三个问题,即:1)在 Linux 应用程序开发过程中遇到过标准库链接在不同 Linux 版本下不兼容的问题; 2)在 Linux 静态库的制作过程中发现有别于 Windows 下静态库的制作方法;3)在 L...

2015-09-11 20:11:23 335 0

转载 《深入应用C++11:代码优化与工程级应用》勘误表

《深入应用C++11:代码优化与工程级应用》勘误表,会不断更新,欢迎读者留言或发邮件(cpp11book@163.com)给我提出宝贵意见。 1.第7.3节目录final和override关键字应该改为标识符; 这个问题由园友“李奥霍克”和“Cu2S”指出, 在此表示感谢。 2.page 1...

2015-08-26 12:47:51 771 0

转载 linux下函数调用栈Backtraces函数

Backtraces A backtrace is a list of the function calls that are currently active in a thread. The usual way to inspect a backtrace of a program is...

2015-08-02 12:22:18 415 0

转载 operator new和operator new[]区别?

对于C++来说new操作分为两步: (1) 申请一块内存(operator new), 相当于malloc (2) 调用构造函数(placement new) 而delete的操作也分两步 (1') 调用析构函数 (2') 释放内存,相当于free 关于申请释放...

2015-08-02 12:20:13 314 0

转载 cmake用cotire设置gcc的预编译头

一、预编译头     当工程大了,单机编译速度会很慢。预编译头会提高很大的速度。相关原理这里不赘述,网上很多。(或者老夫有空的时候再补充) ​ 二、cmake设置gcc的预编译头     一开始google到一个国内同行写的cmake宏,用了下,貌似不是很好用。另外作者也表...

2015-08-02 12:19:45 1957 0

转载 tcpdump非常实用的抓包实例

详细的文档见tcpdump高级过滤技巧 基本语法 ======== 过滤主机 -------- - 抓取所有经过 eth1,目的或源地址是 192.168.1.1 的网络数据 # tcpdump -i eth1 host 192.168.1.1 - 源地址 # tcpdump ...

2015-07-24 11:27:54 295 0

转载 Boost库中的Traits(is_float, is_class)

对以判断是不是某个基本类型(整数, 浮点, bool)可以参考下面代码: 3. is_float [cpp] view plaincopy templatetypename T>   struct is_float : bool_t...

2015-07-23 14:03:58 516 0

转载 tolua++实现分析

项目正在使用cocos2dx的lua绑定,绑定的方式是tolua++。对大规模使用lua代码信心不是很足,花了一些时间阅读tolua++的代码,希望对绑定实现的了解,有助于项目对lua代码的把控。从阅读结果上来看,起码在内存管理上,帮助还是很大的。 1.tolua++如何将c++...

2015-07-05 13:37:40 305 0

转载 Java在游戏服务器开发中的应用

随着游戏市场的兴起,特别是网页游戏、手机游戏的崛起,对游戏开发技术的需求越来越多。网络游戏开发是一个庞大的体系,总体来说是客户端与服务器端。客户端是玩家接触的游戏图像显示端,服务器是处理游戏运行中的各种数据,由于一台服务器要支持众多玩家的请求,所以服务器的性能高低决定了同一个游戏的用户数量。 ...

2015-05-22 12:29:10 476 0

转载 window环境下glog的使用

先下载glog最新版,解压里面有*sln文件,如果你安装了VS2005以上版本都可以直接打开,编译即可得到libglog.dll和libglog.lib文件,拷贝文件到你的测试文件夹下,并拷贝src\windows\下的glog目录到你的工程文件下。         如下是一个测试代码, ...

2015-04-29 22:59:22 312 0

转载 Lua与c++互调

上一节我们实现了一个c++的封装类,通过该类我们就可以调用lua中的函数。可是这还满足不了我们的需求,我们还想通过lua来调用我们c++的方法。通过研究/tolua++-1.0.93/src/tests下的例子,结合c++的特性,我总结了一个tolua的例子。不能说相当完美,但是基本的功能已经能够...

2015-04-21 18:11:59 387 0

转载 Lua基础学习(二)

本节我将一步一步带领大家完成c++调用lua函数并接受lua的返回值,通过分析调用的方式来封装一个类,最终封装完成的类并不是最优的,但应该能够满足一般的项目中对lua调用的功能。不足之处欢迎大家给予指正。   1    基本概念 1.1      栈 c++调用lua是通过...

2015-04-21 18:09:31 290 0

转载 Lua基础学习(一)

Lua基础学习 要学习tolua++的使用,首先也得先学会lua的基本语法和lua与c/c++之间的接口调用。本次总结意在把lua的一些基本的用法总结归纳一下,好让大家可以在短时间内对lua有一个简单的了解,达到可以看懂lua代码的目的。 注: 注释:单行注释:-- 多行注...

2015-04-21 18:08:21 335 0

转载 STL Support Tools

STL Support Tools When you try to use GDB's "print" command to display the contents of a vector, a stack, or any other GDB abstra...

2015-03-14 11:38:34 353 0

原创 GLIBCXX_DEBUG开启STL检测功能

string在GLIBCXX_DEBUG宏是否存在的情况下处理方式不同,不同的库如果没带该选项而自己的项目又定义了它,有可能造成冲突导致程序挂掉,但是又想使程序项目在STL检测的庇护下,可以修改/usr/include/c++/4.7/debug/debug.h头文件,将#ifndef _GL...

2015-03-12 16:20:58 559 0

转载 linux通过端口号查看进程名

iftop -i eth0 -P //查看网络流量 方法一  1.通过lsof命令查看PID  1.1、简单而实用的查看  [root@test proc]# lsof -i:8080  1.2、ipv4/ipv6  [root@test proc]# lsof -Pnl +M -i4(i6)...

2015-02-26 14:47:59 769 0

原创 git配置

第一步,安装git: $ sudo apt-get install git 第二步,创建一个git用户,用来运行git服务: $ sudo adduser git 第三步,创建证书登录: 收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/ho...

2015-02-15 21:18:23 403 0

原创 linux为用户添加sudoer

切换到root用户,进入etc目录 “cd /etc”为sudoers文件添加写入的权限:使用命令   chmod u+w sudoersroot    ALL=(ALL)       ALL lishaoyu ALL=(ALL)      ALL  (在root下面添加这行) c...

2015-02-07 22:39:21 3106 0

原创 CMake生成版本号

CMake生成版本号 (金庆的专栏) 原来的CMake需要用shell脚本生成SVN版本号,再作为cmake参数传入。 CMake调用脚本示例: #!/bin/sh # cmake.sh ServerCodeRoot=~/Code/Server CodeRevNu...

2015-01-13 22:54:58 2333 0

原创 sublime 配置python

安装 Sublime Package Control 1、打开 Sublime Text 2,按下 Control + ` 调出 Console 2、将以下代码粘贴进命令行中并回车: import urllib2,os;pf='Package Control.sublime-pack...

2015-01-12 14:31:47 451 0

转载 mongodb shell问题

1、MongoDB Shell中退格键使用的问题。 利用SecureCRT工具访问linux的时候,在使用MongoDB的交互式shell的时候,退格键(Backspace)无法使用,导致无法修改输入的字符。为这个错误,废了好长时间的力气,终于找到了错误的原因。其实,主要是SecureCRT...

2015-01-07 00:45:50 349 0

原创 gdbserver远程调试代码

gdbserver  192.168.1.188:5000 zonemain //远程创建监听(待被调试) 本地连接调试: 先gdb zonemain  然后再 target remote 192.168.1.188:5000

2015-01-06 21:30:17 598 0

转载 Bash Shell 里的各种括号

今天在 SegmentFault 上看到又有人问起关于Shell里各种括号的问题。对于很多玩Shell的人,括号是个很尴尬的问题,用起来没问题,说起来不明白,我在这里总结一下Bash Shell几种括号的用法和区别,别的Shell我不会。。。(( )) :一对圆括号有两个地方用到。1,for循环,...

2015-01-05 21:53:10 356 0

原创 centos mail发送qq邮件

vi /etc/mail.rc 添加两行 set from=410017376@qq.com smtp=smtp.qq.com set smtp-auth-user=410017376@qq.com smtp-auth-password=lishaoyu1989 smtp-auth=login ...

2014-12-28 13:04:26 942 0

原创 vs2013解决方案资源管理器怎样靠左

鼠标一定要拖到提示框内才放手。这时,系统会自动将解决方案资源管理器放到合适的位置。

2014-12-27 15:07:24 1421 0

提示
确定要删除当前文章?
取消 删除