上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 70 下一页
摘要: 在VC2005的CRT中,增加了一些具有更强安全性的CRT函数,例如strcpy_s, strncat_s等。(MSDN: <Security Enhancements in the CRT > Significant enhancements have been made to make the CRT more secure. Many CRT functions now have more secure versions. If a new secure function exists, the older, less secure version is marked as 阅读全文
posted @ 2011-02-17 10:08 oayx 阅读(8708) 评论(0) 推荐(0) 编辑
摘要: 看名字明白,它和strcpy()函数的功能应该一样的。strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串。在程序运行时,这将导致不可预料的行为。用strcpy_s就可以避免这些不可预料的行为。这个函数用两个参数、三个参数都可以,只要可以保证缓冲区大小。三个参数时:errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource );两个参数时:errno_t strcpy_s( char (&strDestina 阅读全文
posted @ 2011-02-17 10:03 oayx 阅读(21566) 评论(0) 推荐(0) 编辑
摘要: 不知道大家是否碰到过这种情况,当某个玩家发出一个火球,这个火球有自己的运动轨迹,那么如何来判断火球是否打中了人呢?大部分情况,当策划提出这个要求的时候,一般会被程序否认,原因是:太麻烦了,呵呵。复杂点的还有包括两个火球相撞之类的事情发生。那么网络游戏中,是否真的无法模拟实现这种模拟呢?首先我们来看看模拟此种操作会带来什么样的麻烦:1,服务器必须trace火球的运行轨迹,乍一想,挺慢的。2,网络延迟,传过来有延迟,传过去有延迟,延迟还不稳定,麻烦。3,都有两点解决不了了,接下来不愿意再想了。呵呵,实际上呢,对火球的模拟比对人物运动的模拟要轻松很多,原因很简单,火球的方向不会变。下面来看看具体用什 阅读全文
posted @ 2011-02-15 17:45 oayx 阅读(1715) 评论(0) 推荐(0) 编辑
摘要: socket编程原理 socket编程原理 1问题的引入 UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用户进程多次调用“读/写”以传输数据。当所有的传输操作完成后,用户进程关闭调用,通知操作系统已经完成了对某对象的使用。 TCP/IP协议被集成到UNIX内核中时,相当于在UN 阅读全文
posted @ 2011-02-15 15:30 oayx 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 对 TCP/IP 、 UDP 、 Socket 编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是 TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。这里有一张图 阅读全文
posted @ 2011-02-15 15:29 oayx 阅读(302) 评论(0) 推荐(1) 编辑
摘要: Beej网络socket编程指南 -------------------------------------------------------------------------------- 介绍   Socket编程让你沮丧吗?从manpages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用connect()前的bind()的结构而不知所措?等等… 好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解C语言并想穿过网络编程的沼泽,那么你来对地方了。 ---------------------------------------- 阅读全文
posted @ 2011-02-15 15:29 oayx 阅读(383) 评论(0) 推荐(0) 编辑
摘要: Windows下Socket编程主要包括以下几部分:服务端 1、初始化Windows Socket库。 2、创建Socket。 3、绑定Socket。 4、监听。 5、Accept。 6、接收、发送数据。客户端 1、初始化Windows Socket库。 2、创建Socket。 3、连接Socket。 4、接收、发送数据。服务端每接收到一个客户端的Socket,则创建一个线程。满足一个服务端连接多个客户端。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/ 阅读全文
posted @ 2011-02-15 15:28 oayx 阅读(838) 评论(0) 推荐(0) 编辑
摘要: 在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如,下面的结构各成员空间分配情况:struct test{ char x1; short x2; float x3; char x4;};结构的第一个成员x1为char类型,其自然对界为1,其偏移地址为0,占据了第1个字节。第二个成员x2为short类型,其自然对 阅读全文
posted @ 2011-02-12 16:39 oayx 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 欢迎进入内存这片雷区。伟大的Bill Gates 曾经失言:640K ought to be enough for everybody &#8212; Bill Gates 1981程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本章的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。7.1内存分配方式内存分配方式有三种:(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2) 在栈上创建。在执行函数时,函数内局部 阅读全文
posted @ 2011-02-12 16:38 oayx 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 酷壳: http://CoolShell.cn/ 原文: http://coolshell.cn/?p=2746在酷壳,有很多文章都提到了代码注释,如:《十条不错的编程观点》、《优质代码的十诫》、《整洁代码的4个提示》、《惹恼程序员的十件事》等等。今天,某国外的程序员在这里列举五种应该避免的程序注释,我觉得比较有道理,但我觉得有少数几个观点也并不绝对。所以,我把原文的这五种应该避免的程序注释罗列在下面,并放上原作者和我的个人观点作为比较。希望对大家有用。一、自恋型注释(注:原文为Proud,我觉得&#8220;自恋&#8221;更好一点)public class Program 阅读全文
posted @ 2011-02-12 16:27 oayx 阅读(336) 评论(0) 推荐(0) 编辑
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 70 下一页