![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程语言-c/c++
吓人的鸟
程序员
展开
-
C/C++小问题大杂烩
http://cplusplus.comhttp://en.cppreference.com/http://www.cprogramming.com/原创 2012-03-17 21:42:36 · 4701 阅读 · 0 评论 -
code segments
之前闲着没事参加了一次小编程比赛,看着奖品挺诱人的,可惜------------------------------------------------------------------------------------------------------------------------------------------------------------------------原创 2014-04-27 01:22:55 · 1558 阅读 · 0 评论 -
C语言自动转换规则
今天遇到一个无符号数跟有符号数相加的问题,居然搞错了,虽然是很低级的东东,但是长时间没用到还是会忘记的...平时遇到的都是什么float自动转换成double,int自动转换成float,int8自动转换成int32之类的....好吧,重新记下来吧,运算符左右类型不匹配时,会对其中一个做自动类型转换:int ---> longint8,char,short ---->原创 2012-02-22 00:08:09 · 3133 阅读 · 0 评论 -
浅谈游戏服务器架构(待续)
先给个URL,这是我最近看的几篇游戏服务器架构文章里写得比较好的一个,http://www.doc88.com/p-57286039026.html关于游戏服务器架构,鸟人准备写一点自己的认识目前鸟人还没自己设计过一款服务器架构,所以下面写的仅仅是自己在工作和学习中对服务器架构的一些理解和设想,不足之处通过以后的积累慢慢改善这里说的主要是C/S结构的服务器架构,可以是客户端游戏原创 2012-03-26 00:15:23 · 3017 阅读 · 4 评论 -
cocos2d-x android 调试
搭建2dx的android开发环境官网有教程(http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Chapter_1_-_How_to_Create_a_New_cocos2d-x_project_on_multi-platforms),2dx的中文网站也有翻译(http://cocos2d.cocoachina.com/resource/show?n原创 2013-08-28 22:34:46 · 2960 阅读 · 0 评论 -
cocos2d-x学习笔记
http://www.cocos2d-x.org/http://www.cocos2d-x.org/reference/native-cpp/index.html2dx 2.1.4的版本居然不支持vs2008? 而且build-win32.bat运行失败...在多个平台创建2dx项目:http://www.cocos2d-x.org/projects/cocos2d-x/w原创 2013-10-19 19:37:59 · 4374 阅读 · 0 评论 -
灯塔aoi--地图视野处理
参考:http://blog.codingnow.com/2012/03/dev_note_13.html原创 2014-04-22 20:36:48 · 9183 阅读 · 3 评论 -
tinyxml demo
#include #include "tinyxml.h"#include #include #include #include #include using namespace std;//http://www.grinninglizard.com/tinyxmldocs/tutorial0.htmlstruct TaskElement{ string value; m原创 2011-11-15 21:07:47 · 1050 阅读 · 0 评论 -
C++类的数据成员初始化
1.类里面的任何成员变量在定义时是不能初始化的。2.一般的数据成员可以在构造函数中初始化(如果不初始化,成员的值是随机的、不可预测)。3.const数据成员必须在构造函数的初始化列表中初始化。4.static要在类的定义外面初始化(类成员)。5.数组成员是不能在初始化列表里初始化的。6.不能给数组指定明显的初始化。 7.类的成员初始化顺序与成员变量在构造函数中的位原创 2012-03-15 11:26:32 · 1895 阅读 · 1 评论 -
windows环境编程: 线程创建函数 设置线程名 隐藏DOS窗口 重定向IO
_beginthreadex是微软的C/C++运行时库函数,CreateThread是操作系统的函数。 _beginthreadex通过调用CreateThread来实现的,但比CreateThread多做了许多工作。 注意:若要创建一个新线程,绝对不要使用CreateThread,而应使用_beginthreadex. Why?原创 2011-12-26 16:27:02 · 2391 阅读 · 0 评论 -
wchar <---> char
源头是百度博客一大仙儿的,经过自己几次改进,应该没有问题了#include#include #include #include using namespace std;size_t get_wchar_size(const char *str){ size_t len = strlen(str); size_t size=0; size_t i; for(i=0;原创 2011-09-22 14:09:51 · 1618 阅读 · 0 评论 -
lua coroutine & skynet
thread type用于创建协程(coroutines),跟OS的thread不是一个概念(Python则不同,Python的线程就是OS原生线程;不过stackless和pypy的微线程跟这个概念差不多)Coroutines 又名collaborative multithreading(协作多线程)每个协程是一个独立的线程(lua thread, not os thread),原创 2014-08-08 20:59:36 · 2305 阅读 · 0 评论 -
gdb
1.设置多线程的调试模式 2.设置list默认显示的行数原创 2014-07-17 15:13:43 · 1114 阅读 · 1 评论 -
机器码 真数 原码 反码 补码 float的内存表示
#includeint main(int argc, char** argv){ printf("sizeof(int): %d\n", sizeof(int)); /********* hex格式表示的整数是补码 http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html原创 2016-12-30 20:37:07 · 2773 阅读 · 0 评论 -
VS快捷键---变态的键盘控
作为一个近乎变态(你很难想象一个人窝在椅子上一动不动、懒得右手都不愿意去寻找鼠标是什么样子)的键盘控,在这里分享一下VS(安装VC助手VAssistX之后)快捷键,非键盘控无法体会这种快感,不喜勿喷....ctrl+shift+s 查找类名、对象名、函数名==ctrl+shift+a原创 2012-02-24 00:25:19 · 2510 阅读 · 0 评论 -
《系统程序员成长计划》阅读笔记--温故之用
《系统程序员成长计划》下载页面1.程序在数据存放位置 1>.bbs 未初始化或者初始化为零的全局变量区 程序运行期间一直有效,占运行时的内存空间,不占目标文件的空间 2>.data 初始化过的全局变量区 程序运行期间一直有效,既占运行时的内存空间,又占目标文件的空间 3>.rodata (read only data)常量数据区 有些立即数会和指令编码在一起存原创 2011-12-12 15:30:46 · 1264 阅读 · 0 评论 -
skynet浅析
参与者模式,actor model 是1973年就提出的一个分布式并发编程模型,在erlang语言中得到广泛支持和应用http://blog.codingnow.com/2013/12/skynet_monitor.html master 控制节点,可以附属在某个工作节点中harbor 工作节点,所有工作节点之间建TCP连接,所有harbor跟master之间建TCP连接;新的harbor启动时先连接master,master通知其他harbor去连接新的harborhttp://blog.codi原创 2014-08-16 14:24:35 · 16534 阅读 · 0 评论 -
boost.python小试牛刀
http://www.boost.org/doc/libs/1_55_0/libs/python/doc/ http://www.boost.org/doc/libs/1_55_0/libs/python/doc/ http://www.boost.org/doc/libs/1_55_0/libs/python/doc/ http://www.boost.org/doc/libs/1_55_0/l原创 2014-04-26 19:06:30 · 4593 阅读 · 0 评论 -
skynet
https://github.com/cloudwu/skynet电商不是有C2B B2C C2C这些个概念么,互动百科的CEO甚至还对抄袭美其名曰:COPY TO CHINA (C2C)。鸟人今天也为C2B赋予新意:COPY TO BLOG。哈哈研究skynet的朋友请移步云风的博客,我这里纯属抄袭下来做标记笔记用的,因为个人阅读习惯如此。http://blog.codi转载 2014-08-04 23:25:13 · 4043 阅读 · 0 评论 -
skynet example
[dongsong@localhost skynet]$ sudo netstat -lntp | grep skynettcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 2705/./skynet--> simpledb service (watchdog servi原创 2014-08-16 14:17:53 · 4089 阅读 · 0 评论 -
编写Python扩展(Extending Python with C or C++)
其实这是一篇译文,看官方文档的时候觉得不好对重点做标记,加上以后遗忘的时候看中文可以更快速的捡起来,所以在阅读的过程中就直接翻译出来记录在此了,借助于博客的一下编辑功能对重点做一些突出表现。1. Extending Python with C or C++C编写的扩展模块源码文件构成:1.功能函数 spam_system2.模块的方法表(Method Table)SpamMet原创 2013-07-19 00:22:27 · 7951 阅读 · 1 评论 -
内存对齐
#include#pragma pack(2)struct test_t{ int a; char b; short c; char d;};#pragma pack()int main( int argc, char** argv){ printf("sizeof(char)=%d\n",(int)s转载 2012-03-15 16:58:12 · 1198 阅读 · 0 评论 -
winsock unblock client programing demo
#include #include #pragma comment(lib,"ws2_32.lib")int main(void){ WSADATA WsaDat; if(WSAStartup(MAKEWORD(2,2),&WsaDat)!=0) { std::cout<<"Winsock error - Winsock initialization failed\r\n";原创 2011-10-20 23:39:41 · 932 阅读 · 0 评论 -
jsonc demo
#include "json/json.h"#include using namespace std;int main(int argc, char** argv){ json_object* big_array = json_object_new_array(); json_object* my_array = json_object_new_array(); json_obje原创 2011-09-21 15:24:58 · 1698 阅读 · 0 评论 -
虚函数深层分析
关于这个问题《深入理解C++面向对象模型》里面有详细的讲解,不过还是陈皓的这篇博客写的比较简明易懂http://blog.csdn.net/haoel/article/details/1948051前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针转载 2012-03-11 13:02:38 · 1016 阅读 · 0 评论 -
windows下生成core dump文件
下面是从pandion里面摘取的两个文件MiniDumper.h#ifndef MINIDUMPER_H#define MINIDUMPER_H#include class CMiniDumper{public: CMiniDumper(bool bPromptUserForMiniDump); ~CMiniDumper(void);private:原创 2012-02-29 15:38:05 · 7513 阅读 · 0 评论 -
win32程序如何挂起/恢复(suspend/resume)进程
1.msdn并木有提供现成的类似SuspendProcess/ResumeProcess的API,只能通过SuspendThread/ResumeThread来实现2.如何显示所有进程?根据进程id如何获取其内部各线程? 这些仅需要熟悉MSDN的Tool Help Library几个函数(CreateToolhelp32SnapshotProcess32FirstProcess3原创 2012-02-07 16:28:56 · 5682 阅读 · 0 评论 -
stl::vector reserve和resize的区别
以前被这两个函数迫害过一次,懒得写了,直接转载别人的过来mark一下源出处:http://blog.csdn.net/shuilan0066/article/details/3588478reserve是容器预留空间,但并不真正创建元素对象,在创建对象之前,不能引用容器内的元素,因此当加入新的元素时,需要用push_back()/insert()函数。resize是改变容器的大转载 2012-01-03 20:12:28 · 1610 阅读 · 0 评论 -
Windows控制台程序的消息队列使用笔记
下面是本人学习时写的demo程序,主要是实现一个控制台程序的定时器,做好封装并在相应位置加上回调函数就能用在项目里面了百度文库有一篇文章写得灰常好,看一遍就大致明白怎么使用消息队列了 http://wenku.baidu.com/view/12955aaddd3383c4bb4cd2fe.html#include #include #include #in原创 2011-12-08 14:24:43 · 2385 阅读 · 0 评论 -
windows下unicode传参及CString解惑 及环境变量设置
char test[] = "本地编码字符串";wchar_t test2[] = L"UNICODE宽字符编码";CString testStr = CString(test);CString testStr2 = CString(test2);CString testStr3 = CString((unsigned char*)test2);1.unicode传递原创 2011-12-26 16:35:01 · 1186 阅读 · 0 评论 -
(非降序)冒泡 插入 快排 归并 选择
算法复杂度的对比 http://wenku.baidu.com/view/d923bd1a6bd97f192279e929.html冒泡排序 http://zh.wikipedia.org/wiki/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F口语化原理:从前往后扫描并对相邻的两个元素做比较,不符合要求的顺序则交换两个位置的值(每遍历一次都把最大或最原创 2011-11-22 18:31:45 · 991 阅读 · 0 评论 -
google-perftools分析程序瓶颈(最耗cpu的代码块)
文档和结果分析在官网上都有 http://google-perftools.googlecode.com/svn/trunk/doc/cpuprofile.html1.下载安装google-perftools2.在需要分析的程序块前后加上初始化和结束的语句 ProfilerStart("CPUProfile"); ProfilerStop();原创 2011-12-08 15:47:16 · 4191 阅读 · 0 评论 -
指针(作者girlrong)
估计很多人见过这个帖子,两年前鸟人读完如醍醐灌顶,遂收录到本地doc,现分享出来.....第一章。指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。先声明几个指针放着做例子: 例一:转载 2012-05-11 14:05:29 · 1735 阅读 · 0 评论 -
C++拷贝构造、临时对象、虚拟继承、重载、覆盖、隐藏
拷贝构造书曰,拷贝构造在下面三种情况下发生:1.用一个对象初始化另一个对象class A{};A a;A b(a);A b = a;2.以对象对函数做值传参3.函数返回对象拷贝构造的一些细节:1.对于一个类X,如果一个构造函数的第一个参数是下列之一,且没有其他参数或其他参数都有默认值,那么这个函数是拷贝构造函数 a> X&原创 2012-03-18 01:43:57 · 1346 阅读 · 0 评论 -
嵌套python解释器(Embedding Python in Another Application)
http://docs.python.org/2/c-api/index.html1.hello,world[dongsong@bogon python_study]$ cat py.cpp #include int main(int argc, char** argv){ Py_Initialize(); PyRun_SimpleString原创 2012-08-03 15:15:00 · 3136 阅读 · 0 评论 -
linux下条件变量的使用
条件变量使我们可以睡眠等待某种条件出现。(windows下可以用互锁函数模拟linux下的条件变量)条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 条件变量类型为pthread_cond_ 条件变量和互斥锁一样,原创 2012-04-06 22:09:09 · 2416 阅读 · 0 评论 -
msgpack[C++]使用笔记 和 msgpack/cPickle性能对比
python版本msgpack安装:wget http://pypi.python.org/packages/source/m/msgpack-python/msgpack-python-0.1.9.tar.gzpython2.x setup.py install --prefix=/usr/local/similarlib/python版本的msgpack灰常好用,速度上比p原创 2011-09-22 17:23:59 · 9606 阅读 · 4 评论 -
VC编写和调用dll
编写:a)文件--打开--新建项目--Win32,右侧Win32项目,填写好项目名称,点击“下一步”, 应用程序类型选择:“DLL(D)”,附加选项:空项目(E),然后完成。 b)编写头文件(edrlib.h): #ifdef __cplusplus #define EXPORT extern "C" __declspec (dl转载 2011-10-18 11:27:52 · 1100 阅读 · 1 评论