网络编程基本流程:
1:Socket概念及原型函数
原义是“孔”或“插座”。作为BSD UNIX的进程通信机制。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。
函数原型:
int socket(int domain, int type, int protocol);
参数说明:
domain:协议域,又称...
阅读全文
/**//****************************************************【服务端】基于TCP,多线程的聊天框架代码评注:非常完整******************************************************/#include "stdafx.h"#include <stdio.h>#include <winsock2.h>#pragma comment(lib,"ws2_32.lib")/**//*****************定义客户端连接上后的聊天线程函数************/DWORD WINAPI ClientThread(LPVOID lpParam){ SOCKET sock = ...
阅读全文
如何查看MATLAB函数的源代码
大家都知道MATLAB是开源的,所有的函数源代码都是可以查看的。但是,对于初学者来说,可能还不知道如何查看MATLAB函数的源代码。
函数之 type
假设需要查看function_name的源代码,在命令窗口中键入 type function_name
即:
>> type imread
function [X, map, alpha] = imread(varargin)
%IMREAD Read image f...
阅读全文
排序算法
一、插入排序(Insert Sorting)
原理:
插入排序的原理:从序列中第二个数A开始,将A,插入前面已经排好的序列中,形成一个新的排序好的序列,以此类推到最后一个元素。
运行时间:
1. 输入。正序 or 逆序。
2.输入的大小。
最坏情况:逆序。
时间复杂度:O(n^2)。算术级数。
代码:
void insertSort(int *array, int len)
{
int i, j, temp;
for(i = 1; i < len; i ++)
{
temp = array[i];
for(j...
阅读全文
def cndebug(obj=False): """ Author : Nemon Update : 2009.7.1 TO use : cndebug(obj) or cndebug() or MyObject.debug=cndebug License: GPL """ print('='*80) print('='*30 + ' GLOBAL VARIABLES ' +'='*30) print('='*80) g=globals() for x,y in g.iteritems(): if x[:1]!='_': print ( x + ' := '+ str(type(y))) print ( y) print ( '') if obj: print('='*80) print('='*30 + ' LOCAL VARIABLES ' +'=...
阅读全文
ImpositionTool.bas
Attribute VB_Name = "ImpositionTool"
' 折手(Imposition)
' 在考虑版式和印后加工的前提下,将多个单独的页面安排到一个印张上(将文字、图形和图像安排到一个页面内,称为页面排版)。
'打印全部
Sub printAll()
Dim l_pages_count As Long, tmp_s As String
l_pages_count = Selection.Information(wdNumberOfPagesInDocument)
If l_pages_count Mod 4 > 0 Then Call setPageT...
阅读全文
C++允许定义形参个数和类型不确定的函数。例如,C语言中的标准函数printf便使用这种机制。在声明不确定形参的函数时,形参部分可以使用省略号“…”代替。“…”告诉编译器,在函数调用时不检查形参类型是否与实参类型相同,也不检查参数个数。例如:void ConnectData(int i,...)在上面的代码中,编译器只检查第一个参数是否为整型,而不对其他参数进行检查。对于可变参数的函数,需要进行特殊的处理。首先需要引用 <stdarg.h>...
阅读全文
以下主要描述了:
TFS源代码控制系统的基本场景
如何把一个项目添加到源代码管理中
如何与服务器同步
如何做Check-In
如何做分支与合并
什么是上架与下架
我们知道工作项是项目管理的基本元素,但是一个项目的成功,光有工作项还是不够的。工作项说明了要做什么事(例如任务),出了什么问题(例如Bug),除此之外,我们还需要将程序一行一行地写出来,TFS的源代码管理控制系统,就能帮助我们管理这一行行的代码,一个个的文件...
阅读全文
CV_IMPL IplImage*
cvLoadImage( const char* filename, int iscolor )
{
return (IplImage*)cv::imread_(filename, iscolor, cv::LOAD_IMAGE );
}
调用成员函数imread_(), 该函数原型如下:
enum { LOAD_CVMAT=0, LOAD_IMAGE=1, LOAD_MAT=2 };
static void*
imread_( const string& filename, int flags, int hdrtype, Mat* mat=0 )
{
IplImage* image = 0;
CvMat *matrix = 0;
Mat temp, *data = &temp;
...
阅读全文
出自: http://blog.csdn.net/dylgsy/article/details/1045678
欢迎转载,请注明出处。
[Flyweight模式]
官方描述:
意图
运用共享技术有效地支持大量细粒度的对象。
适用性
1、一个应用程序使用了大量的对象。
2、完全由于使用大量的对象,造成很大的存储开销。
3、对象的大多数状态都可变为外部状态。
4、如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象。
5、应用程序不依赖于对象...
阅读全文