2010年12月17日

摘要: 这2个问题其实之前一直知道~~但是就是因为不在意而导致了错误的发生~~先贴两端代码~~代码[代码]第一段代码~~~都是以1为字节长度进行按位分配~~可以看出是协议头~~但是在本机上调试是没有问题的~因为本机的虚拟服务器环境还是windows~~可是当进行真机调试的时候~问题就出现了~~gcc下按位分配对按位分配前的类型不做限制的~只要按位分配的长度不大于类型长度就行~但是vc下却会对类型进行检查,如果按位分配的前后两个变量的类型不同~vc则会对这两个变量按类型进行分配空间~所以vc下的长度就会比gcc下的长度多出2个字节~也导致了客户端和服务器之间的通信失败~~第二段代码~~第一个答案是5~当 阅读全文
posted @ 2010-12-17 00:11 风中de梧桐 阅读(622) 评论(0) 推荐(0)

2010年10月13日

摘要: 最近要写一个角色编辑器~~~老大让要写到游戏里面~~~好嘛~~又是ui~~这次的ui是在游戏里的ui~~他们全部用脚本封装好了~~~好嘛~~我就学习lua~~~学了4天吧~~~然后摸索着边问边学边做~~~好嘛~~~一个界面~~~41个控件~~~代码里~~所有逻辑和初始化加起来~~我写了1432行~~~突然间发现我的代码里出现了楼梯~~lua啊~~好用是好用~~可是~~唉。。情何以堪~~ 阅读全文
posted @ 2010-10-13 17:45 风中de梧桐 阅读(254) 评论(0) 推荐(0)

2010年9月13日

摘要: 前几天,老大让我搭建下那边服务器的分布式编译环境,说以前服务端都是单机编译,每次半小时,很浪费时间~~于是乎,我便去查资料~~~决定使用distcc进行linux下的分布式编译环境的搭建~~~第一次~~搭建好了~~并且配合ibm官网说的ccache~~~但是效果没怎么体现出来,因为我们的编译客户机只有一台,每次cvs下来都是在那台机器上,所以我就提倡用多台服务器互联,各自做服务器并且各自做客户机的... 阅读全文
posted @ 2010-09-13 14:44 风中de梧桐 阅读(5843) 评论(1) 推荐(0)
 
摘要: 在看过《 Inside the C++ Object Model》的关于new和delete的语意讲解后,对new和delete有了一定程度上的深入了解~~当我们使用new给我们的一个对象分配空间的时候。。。new内部的调用实际上是void* operator new(size_t){ //alloc memory //then call class's constructor}首先分配了空间。。... 阅读全文
posted @ 2010-09-13 11:45 风中de梧桐 阅读(379) 评论(0) 推荐(0)
 
摘要: 同学让帮忙做的~~4种排序公用一个数组~~~使用互斥量防止访问冲突~~代码发表于 @ 2009年08月09日 阅读全文
posted @ 2010-09-13 11:44 风中de梧桐 阅读(428) 评论(0) 推荐(0)
 
摘要: /*const int N=10;int arr[N];//GCC中可以通过编译,但是对arr进行初始化的时候,会报variable-sized object may not be initialized的错误~~//但是在VC中,会直接报错~~~所以对数组进行初始化的时候,下标必须是常量~~不能是常变量~~ int _arr[10]={0};_arr[n]<=>*(_arr+n)&l... 阅读全文
posted @ 2010-09-13 11:42 风中de梧桐 阅读(241) 评论(0) 推荐(0)
 
摘要: 关于编译器默认字节对齐长度的改变的做法~~#pragma pack(push)//将初始的字节对齐数压栈#pragma pack(N)//N是你要改变成的字节个数......你的结构体和类~~...#pragma pack(pop)//恢复初始....关于在C中定义自己的动态数组~~代码结构体中如果有可变长数组~~~对其进行操作的正确方式是声明一个结构体指针~~给这个指针动态分配足够的空间~~再对... 阅读全文
posted @ 2010-09-13 10:41 风中de梧桐 阅读(190) 评论(0) 推荐(0)
 
摘要: /* char str[10]="123154"; const char* str1="axef"; char *ptr=str; printf("%x\t%x",++ptr,str++); printf("%c\n",*str1++);//str是指针,有自己固定的地址,所以不可对其进行++或者--操作// 疑问:数组名什么不能当作左值使用? 数组名是一个指针常量,相当于int ptr[4]..... 阅读全文
posted @ 2010-09-13 10:38 风中de梧桐 阅读(202) 评论(0) 推荐(0)
 
摘要: 从别人BLOG上看到的东西~~很有用~~记下来~!!CancelWaitableTimer 这个函数用于取消一个可以等待下去的计时器操作 CallNamedPipe 这个函数由一个希望通过管道通信的一个客户进程调用 ConnectNamedPipe 指示一台服务器等待下去,直至客户机同一个命名管道连接 CreateEvent 创建一个事件对象 CreateMailslot 创建一个邮路。返回的句柄... 阅读全文
posted @ 2010-09-13 10:37 风中de梧桐 阅读(551) 评论(0) 推荐(0)
 
摘要: 看了个关于stat的帖子~~原来还米用过滴~~在网上查了资料~~自己调试了下~~原来stat()是这么好用哇~~以下是转载别人的blog~~函数都是获取文件(普通文件,目录,管道,socket,字符,块()的属性。函数原型#include <sys/stat.h>int stat(const char *restrict pathname, struct stat *restrict ... 阅读全文
posted @ 2010-09-13 10:36 风中de梧桐 阅读(619) 评论(0) 推荐(0)