07 2012 档案
摘要:回顾:多进程的问题:数据共享。多进程的问题:进程的上下文环境(context)文件描述符号是整数以及对应上下文环境多进程的问题:上下文环境共享一.SELECT TCP服务器编程模式1.select函数int select(int fds,//建议是监控的文件描述符号的最大值+1fd_set *readfds,//读文件描述符号集合//该参数既是输入,也是输出//输入:被监控的描述符号//输出:有数据的描述符号fd_set *writefds,fd_set *errfds,struct timeval*timeout);//指定阻塞时间限制//为NULL,永久返回:>0:发生改变的文件描述
阅读全文
摘要:一.TCP的编程模型回顾:UDP模型的UML图TCP模型的UML图案例1:TCP的服务器(在案例中使用浏览器作为客户程序)socket建立服务器的文件描述符号缓冲bind把IP地址与端口设置到文件描述符号中listen负责根据客户连接的不同IP与端口,负责生成对应的文件描述符号及其信息accept一旦listen有新的描述符号产生就返回,否则阻塞。View Code //tcpserver.c#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#in
阅读全文
摘要:一个棋牌类小游戏先写一个地图类:public class Map { int[] map = new int[100]; //对战地图 int[] luckyTurn = {6, 23, 40, 55, 69, 83}; //幸运轮盘 int[] landMine = {5, 13, 17, 33, 38, 50, 64, 80, 94}; //地雷位置 int[] pause = {9, 27, 60, 93}; //暂停 int[] timeTunnel = {20, 25, 45, 63, 72, 88, 90}; //时空隧道...
阅读全文
摘要:brk/sbrk维护一个位置。 brk/sbrk改变这个位置。brk改变绝对位置sbrk改变相对位置昨天的补充:永远记住:C的基本类型就那几种。所有全新类型都是使用typedef重新定义的。类型重定义的好处:1. 维护方便2. 便于移植(每个系统中都用同一个名,不用修改)3. 容易理解一、 映射虚拟内存没有任何额外维护数据的内存分配 mmap/munmap1. 函数说明:void *mmap( void *start, //指定映射的虚拟地址,如果为0,则由系统指定开始位置 size_t length,//指定映射空间的大小。 pagesize的倍数 int prot, ...
阅读全文
摘要:malloc怎么分配空间 malloc与new的关系 看完下面的2再回答这个问题。 2. linux对内存的结构描述 a) /proc/${pid}/ 存放进程运行时候所有的信息。程序一结束,该目录就删掉了。 b) 任何一个程序的内存空间其实分成4个基本部分。 i. 代码区 ii. 全局栈区 iii. 堆 iv. 局部栈小实验: 运行一个只包含while(1);的程序,然后另起一个终端,cd /proc下面的对应进程的pid目录,cat maps,查看到运行进程的内存空间分配情况。进程查看: ps aue c) 理解程序的变量与内存空间的关系小实验:#incl...
阅读全文
摘要:准备工作 如果你还没装编译环境或自己不确定装没装,不妨先执行sudo apt-get install build-essential如果你需要编译 Fortran 程序,那么还需要安装 gfortran(或 g77)sudo apt-get install gfortran如果你已经了解一些 vim 的知识,而且想用它来编辑源代码,那么我们不妨装个完整版sudo apt-get install vim-full如果你不了解vim,选择gedit、kate或mousepad来编辑源代码就好了注意:本文可能会让你失望,如果你看完后有下列疑问的话:为什么要在终端输命令啊? GCC 是什么东西,怎么在
阅读全文
摘要:1. 一个简单的图形程序给CExample3View类添加一个成员变量 CPoint m_jumpOffPoint来记录鼠标按下的位置。在构造函数中初始化为0.接下来编写OnLButtonDown()和OnLButtonUp()函数 如下void CExample3View::OnLButtonDown(UINT nFlags, CPoint point) { m_jumpOffPoint = point; //记录鼠标按下的位置 CView::OnLButtonDown(nFlags, point);}void CExample3View::OnLButtonUp...
阅读全文
摘要:1. Windows 应用程序运行机制#include <Windows.h>#include <stdio.h>LRESULT CALLBACK WinExample1Proc( //对窗口过程函数进行声明 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain( //Win32应用程序入口函数 HINSTANCE hInstance, HINSTANCE hPrevInstance, LPS...
阅读全文
摘要:转自:http://blog.csdn.net/fengxinziyang/article/details/5909237 (PS:我看的这本书《Visual C++从初学到精通》说结构体也可以继承和被继承,也可以有虚函数)区别:结构是一种用关键字struct声明的自定义数据类型。与类相似,也可以包含构造函数,常数,字段,方法,属性,索引器,运算符和嵌套类型等,不过,结构是值类型。1.结构的构造函数和类的构造函数不同。 a.结构不能包含显式的无参数构造函数。结构成员将自动初始化为它们的默认值。 b.结构不能包含以下形式的初始值设定类:base(argument-list);2.对于结构中的实例
阅读全文