vc 网络编程(socket)
在网络编程中最常用的方案便是Client/Server (客户机/服务器)模型。在这种方案中客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户向这个服务的地址提出了连接请求。在这个时刻,服务程序被"惊醒"并且为客户提供服务-对客户的请求作出适当的反应。
在网络编程中最常用的方案便是Client/Server (客户机/服务器)模型。在这种方案中客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户向这个服务的地址提出了连接请求。在这个时刻,服务程序被"惊醒"并且为客户提供服务-对客户的请求作出适当的反应。
多线程可以实现并行处理,避免了某项任务长时间占用CPU时间。要说明的一点是,目前大多数的计算机都是单处理器(CPU)的,为了运行所有这些线程,操作系统为每个独立线程安排一些CPU时间,操作系统以轮换方式向线程提供时间片,这就给人一种假象,好象这些线程都在同时运行。由此可见,如果两个非常活跃的线程为了抢夺对CPU的控制权,在线程切换时会消耗很多的CPU资源,反而会降低系统的性能。这一点在多线程编程时应该注意。
多线程可以实现并行处理,避免了某项任务长时间占用CPU时间。要说明的一点是,目前大多数的计算机都是单处理器(CPU)的,为了运行所有这些线程,操作系统为每个独立线程安排一些CPU时间,操作系统以轮换方式向线程提供时间片,这就给人一种假象,好象这些线程都在同时运行。由此可见,如果两个非常活跃的线程为了抢夺对CPU的控制权,在线程切换时会消耗很多的CPU资源,反而会降低系统的性能。这一点在多线程编程时应该注意。
Coin3D在功能上完全可以满足一般的编程需要(除了非常专业的商业软件开发);Coin3D的源代码是完全公开的,这使得我们可以深入地了解Open Inventor的实现细节,并可以在遵守GPL协议的前提下对其进行任意地修改。
使用OpenGL画七条曲线:Bezier曲线;3阶(2次)均匀B样条曲线;3阶(2次)准均匀B样条曲线;3阶(2次)分段B样条曲线;4阶(3次)均匀B样条曲线;4阶(3次)准均匀B样条曲线;4阶(3次)分段B样条曲线.rar
本程序是海洋地质制图常用地图投影系列小程序,程序能用于WGS84、北京54、西安80基准面上单点及批量数据的投影正反转换, 本套系列程序目前包括“3°、6°带高斯-克吕格投影正反转换程序”、“墨卡托投影正反转换程序”及“兰勃托投影正反转换程序”。
提供MATLAB的矩阵运算:包括加、减、乘、除、点加、点减、点乘、点除、赋值、转置、rank、det、eig、svd、pinv、power等的运算。inv运算使用pinv运算。最难实现的是非方阵的除法。其中power的实现有些限制,例如不能实现3^A之类的运算,其中A是一个矩阵。
vs2008环境下的MTL库. MTL的配置相对来说麻烦一点,现在http://www.osl.iu.edu/research/mtl/这里下载一个VC++7的,不过还不能马上用。由于VC++7.1对标准的支持更近了一步,同时对于某些语法细节的检查更为严格(主要是对于typename和template partial specialization),我们要对代码做一些小小地修改,特别是mtl/mtl_config.h这个文件。有一些地方要加入typename。另外有两个模板偏特化的情况需要修改,加上template <>。MTL的内部使用一定数量的STL组件和算法。MTL的源代码都在mtl文件夹内,由于mtl内部的include 都是#include “…”的形式,使用时把mtl文件夹复制到当前project下就可以。如果要设VC++的Include 目录,则应该先把所有的#include “…”改为#include <…>这样的形式。 不过刚开始使用MTL还是有一些不太容易让人接受的地方。比如mtl::matrix这个模板类并不能够产生实际的矩阵对象,而要通过它的type成员产生一个对应模板参数的类型,再通过这个类型来实例化对象。