|
I/O 모델 연결시도/ 연결성공 메모리 사용량 (KB) Non-Paged Pool CPU 사용량 (%) 쓰레드 개수 처리량 (Send/Receive Byte Per Second) Blocking 7,000/1,008 12,000/1,008 25,632 25,408 36,121 36,352 10-60 5-40 2,016 2,016 2,198,148/2,198,148 404,227/402,227 Non-blocking 7,000/4,011 12,000/5,779 4,208 5,224 135,123 156,260 95-100 95-100 1 1 0/0 0/0 WSAAsync-Select 7,000/1,956 12,000/4,077 3640 4884 38,246 42,992 75-85 90-100 […]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
/*--------------------------------------------------------------------------------------------- Any 시리즈에 대한 라이센스 명시입니다. 아래 라이센스에 동의하시는 분만 Any 시리즈를 사용할수 있습니다. Any 시리즈의 모든 저작권은 저작자 에게 있습니다. Any 시리즈는 저작권 명시시 개인은 누구나 사용할수 있습니다. Any 시리즈는 상업적 용도로 사용할수 없습니다. 단 저작자의 이해가 있는 경우는 예외로 합니다. Any 시리즈는 사용으로 인한 데이타 손실 및 기타 손해에 대해서 책임을 지지 않습니다. Any 시리즈에 대해 유지/보수의 의무가 없습니다. Any 시리즈의 소스 재사용 및 수정 할 수 없습니다. Any 시리즈의 모든 저작권 표시 및 카피라이터는 수정 및 삭제 할수 없습니다. Any 시리즈는 소스는 개인적으로 사용시 수정하여 사용할수 있습니다. 단 수정배포는 안됩니다. Homepage : www.anyons.net Copyright (C) anyxxxxxx 2006-2010 All Rights Reserved ----------------------------------------------------------------------------------------------- Filename : AnyObject.h Modified : 2010/1/3 Author : anyxxxxxx -----------------------------------------------------------------------------------------------*/ #pragma once /// class CAnyObject /// brief 모든 클래스들의 기초가 되는 AnyObject 클래스 class CAnyObject { #pragma region[Constructors] public: /// brief 생성자 CAnyObject(void); /// brief 생성자 /// param const CAnyObject &r_anyObject CAnyObject(const CAnyObject & r_anyObject); /// brief 파괴자 ~CAnyObject(void); #pragma endregion[Constructors] public: #pragma region[Members] /// brief operator += /// return CAnyObject& /// param const CAnyObject &r_anyObject CAnyObject & operator += (const CAnyObject & r_anyObject); /// brief operator ++ /// return CAnyObject& /// return CAnyObject& CAnyObject & operator++(); /// brief operator ++ /// return const CAnyObject /// param int const CAnyObject operator++(int); #pragma endregion public: #pragma region[Hiddens] int m_nImsi; #pragma endregion[Hiddens] }; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
/*--------------------------------------------------------------------------------------------- Any 시리즈에 대한 라이센스 명시입니다. 아래 라이센스에 동의하시는 분만 Any 시리즈를 사용할수 있습니다. Any 시리즈의 모든 저작권은 저작자 에게 있습니다. Any 시리즈는 저작권 명시시 개인은 누구나 사용할수 있습니다. Any 시리즈는 상업적 용도로 사용할수 없습니다. 단 저작자의 이해가 있는 경우는 예외로 합니다. Any 시리즈는 사용으로 인한 데이타 손실 및 기타 손해에 대해서 책임을 지지 않습니다. Any 시리즈에 대해 유지/보수의 의무가 없습니다. Any 시리즈의 소스 재사용 및 수정 할 수 없습니다. Any 시리즈의 모든 저작권 표시 및 카피라이터는 수정 및 삭제 할수 없습니다. Any 시리즈는 소스는 개인적으로 사용시 수정하여 사용할수 있습니다. 단 수정배포는 안됩니다. Homepage : www.anyons.net Copyright (C) anyxxxxxx 2006-2010 All Rights Reserved ----------------------------------------------------------------------------------------------- Filename : AnyObject.cpp Modified : 2010/1/3 Author : anyxxxxxx -----------------------------------------------------------------------------------------------*/ #include "StdAfx.h" #include "AnyObject.h" CAnyObject::CAnyObject(void) { } CAnyObject::CAnyObject(const CAnyObject &r_anyObject) { m_nImsi = r_anyObject.m_nImsi; } CAnyObject::~CAnyObject(void) { } CAnyObject& CAnyObject::operator += (const CAnyObject &r_anyObject) { m_nImsi += r_anyObject.m_nImsi; return *this; } CAnyObject& CAnyObject::operator ++ () { (*this).m_nImsi ++; return *this; } const CAnyObject CAnyObject::operator ++ (int) { const CAnyObject anyobject = *this; ++ (*this).m_nImsi; return anyobject; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#include #define COMMAND(NAME) { #NAME, NAME # # _command } using namespace std; struct command { char * name; void( * function)(int r_nArg); }; void quit_command(int r_nArg) { cout << "quit_command " << r_nArg; } void help_command(int r_nArg) { cout << "help_command " << r_nArg; } struct command commands1[] = { { "help", help_command }, { "quit", quit_command }, }; struct command commands2[] = { COMMAND(help), COMMAND(quit), }; int _tmain(int argc, _TCHAR * argv[]) { commands1[0].function(3000); cout << endl; commands1[1].function(5000); return 0; } |
|
링크
|