본문 바로가기
728x90
반응형

분류 전체보기725

Vector, ArrayList, LinkedList의 차이점 Java에서 대량의 자료를 추가/삭제하며 처리하기 위해서는 무엇을 사용해야 할까요? 연구실에서 Java를 한번쯤 공부해 본 사람이라면 보통 “Vector Class”라고 대답을 할 것입니다. 정답이죠. Vector Class는 대량의 자료를 가질수 있으며, 추가/삭제또한 자유롭게 처리가 가능합니다. 그럼 뭐가 문제라서 이런 글을 쓰는것일까요? 단순히 “처리되는가” 를 넘어서 “빠르게 처리할수 있는가” 를 생각해 본다면, 위에서의 대답 “Vector Class” 는 X에 가까운 답이라고 할 수 있기 때문입니다. 우선, Java에서 제공하는 “대용량 자료처리 개념” 은 여러가지 상위 인터페이스를 통해서 구현할 수 있습니다. (Collection, Iterator, Enumeration, Map등등) 각각 독.. 2012. 5. 14.
[STL] 시퀀스 컨테이너 <Vector> STL 컨테이너는 각각 자신만의 특징을 가지고 있습니다. 각 컨테이너의 특징은 성능('시간 복잡도'나 '공간 복잡도')과 STL 여러 요소에 영향을 주기 때문에 각 컨테이너의 특징을 이해하는 것은 상당히 중요합니다. 그래야 자신의 프로그램에 맞는 적절한 컨테이너를 선택하여 사용할 수 있습니다. vector의 주요 특징은 앞장에서 배운 것처럼 '시퀀스 컨테이너'이면서 '연속 메모리 기반 컨테이너'입니다. 또 컨테이너에 데이터가 삽입될수록 메모리가 자라나게 됩니다. 연속 메모리 기반이므로 메모리가 자라나면 기존 메모리를 삭제하고 새로운 메모리를 재할당하여 사용합니다. v.size() = 인덱스 사이즈 v.clear() = 초기화 v.capacity() = 할당된 메모리 공간 크기 보기 v.empty() = .. 2012. 5. 14.
윈속 멀티스레드 서버 (Winsock) #pragma comment(lib,"ws2_32.lib") #include #include #include #include #include #define BUFSIZE 1024 int main(int argc, char** argv){ WSADATA wsaData; SOCKET hServSock; SOCKET hClntSock; HANDLE hThread; DWORD dwThreadID; SOCKADDR_IN servAddr; SOCKADDR_IN clntAddr; int clntAddrSize; if(argc != 2){ printf("Usage: %s \n", argv[0]); exit(1); } if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) ErrorHandli.. 2012. 5. 14.
#pragma - once, pack, warning, comment, link #pragma 키워드는 컴파일러 제작 회사가 특정 플랫폼에 의존하는 기능을 확장하기위해 기능을 추가한 키워드이다. 해당 컴파일러가 지시명을 인식하지 못한다면 에러 또는 경고 메세지를 수반하지 않고서 #pragma의 지시를 무시하게 된다. #pragma 옵션 옵션 설명 allock_text comment 코드 안에 특별한 주석을 기입함 init_seg optimize auto_inline component inline_depth pack 변수 정렬을 인위적으로 변경 bss_seg data_seg 다른 파일에서 데이터를 공유하고자할때 inLine_recursion pointers_to_members check_stack function intrinsic setlocale code_seg hdrstop mes.. 2012. 5. 14.
[ 배포 ] Setup Project 설치프로그램 만들기 1 해보면 쉽고 안해보면 뭐가 몬지 몰라서 헤메게 되는 Setup 프로젝트 입니다. VS 에는 클릭원스라는 퍼블리싱도구가 있어서 편리하긴 한데요. 클릭원스는 설치 폴더지정이나 설치 전 후 작업 과정이 어려워서... 셋업 프로젝트를 선택하였습니다. 이번 포스팅에는 Setup 프로젝트를 만들고 msi 파일을 만들어 Setup 파일을 다운받고 설치하고 바탕화면에 바로가기를 만들고, 설치될 폴더를 지정해 주고, 아이콘을 지정하는 등 설치에 관련된 작업을 알아보려 합니다. 작업 환경은 Visual Studio 2008 입니다. 먼저 새 프로젝트를 클릭하고 셋업 프로젝를 만들어 봅시다. 후에 우리가 배포할 솔루션을 추가해 줍니다. 1. 솔루션 탐색기에서 솔루션 마우스 오른쪽 클릭 -> 추가 -> 기존의프로젝트(우리가 .. 2012. 4. 6.
인스톨 프로그램 만들기 (설치 프로그램 만들기) https://m.blog.naver.com/cas1205/223823001799 블로그 만들고 처음으로 강의성 있는(?) 글을 써보네요,,게임, 유틸 등을 설치 할 때 파일을 받으면 설치를 시작하는데요그런 설치 프로그램을 만드는 방법에 대해 글을 써봅니다.1. 인스톨 팩토리 이용하기 저녀석이 인스톨 팩토리 입니다.옛날에는 저걸로 설치당하는(?) 일이 많았는데요즘은 보기 힘들어졌습니다.이유는 잘 모르겠네요;; 네 바로바로 이게 Install Factory 입니다!간단합니다. 쉽게쉽게 만들 수 있게 해놨어요,이정도면 꽤 쉬운 프로그램이죠^^뭐 그래서 더 이상 말할 것도 없구요,압축률 : 162MB (169,913,272 바이트) -> 85.9MB (90,148,050 바이트) 다운로드(출처 : 알.. 2012. 4. 6.
728x90
반응형