목록전체 글 (57)
Creative Motive
데브피아 김경진님 작성 (http://devmachine.blog.me/178065882) 병렬 프로그래밍이란? 병렬 프로그래밍이란 서로 독립된 여러개의 작업을 여러개의 프로세스를 이용하여 동시에 처리하게 만드는 프로그래밍 기법을 말합니다. 하드웨어가 발전하면서 CPU 코어 개수는 점점 늘어나고 여러 작업을 동시에 처리할 수 있는 능력이 대폭 향상되었죠. 하지만 프로그래밍 레벨에서 이런 스펙을 최대한 이용하기란 쉽지 않은 일이었습니다. 여러개의 스레드를 직접 만들어서 관리하고 동기화와 리소스관리까지 한다는 것은 개발자에게는 큰 부담이고 여간 귀찮은 일이 아닐 수 없습니다. 이 강좌에서는 이런 병렬 프로그래밍의 개념에 대하여 정확히 이해하고 최소한의 코드를 이용하여 효율인 결과물을 얻을 수 있는 여러가지 ..
데브피아 김경진 님 작성 (http://devmachine.blog.me/177964797) 프롤로그 하드웨어가 점점 발전하여 CPU는 싱글 코어에서 멀티 코어로 진화했고 더불어 하이퍼스레딩이 적용되면서 개발자들은 어떻게 하면 CPU를 최대한 활용하여 프로그래밍할 수 있을까 고민하게 됩니다. 하지만 간단한 방법으로 이를 구현하기란 쉬운 일이 아니죠. 안타깝지만 아직도 많은 프로그램들이 주로 한 개의 코어만 활용하도록 구현되어있습니다. 어떻게 하면 스레드를 직접 다루지 않고도 쉽게 병렬 프로그래밍을 구현할 수 있을까요? 그동한 이러한 노력의 일환으로 OpenMP, TBB, PPL 등이 개발되어졌고, 이 중 PPL은 Visual C++(Visual Studio 2010 이상) 환경에서 템플릿 라이브러리 형태..
Devpia 신영진 님 작성 성상훈 ( + 여리) 님 작성 in Codeprojecthttp://www.codeproject.com/Articles/2082/API-hooking-revealedin Codeguruhttp://www.codeguru.com/cpp/w-p/system/processesmodules/article.php/c5767/Three-Ways-To-Inject-Your-Code-Into-Another-Process.htm
Windows 용 더블 링크드 리스트 구조체A LIST_ENTRY structure describes an entry in a doubly linked list or serves as the header for such a list.SyntaxC++typedef struct _LIST_ENTRY { struct _LIST_ENTRY *Flink; struct _LIST_ENTRY *Blink; } LIST_ENTRY, *PLIST_ENTRY; MembersFlinkFor a LIST_ENTRY structure that serves as a list entry, the Flink member points to the next entry in the list or to the list header if t..
[출처] Linux Cross Reference - list.h 1 #ifndef _LINUX_LIST_H 2 #define _LINUX_LIST_H 3 4 #include 5 #include 6 #include 7 #include 8 9 /* 10 * Simple doubly linked list implementation. 11 * 12 * Some of the internal functions ("__xxx") are useful when 13 * manipulating whole lists rather than single entries, as 14 * sometimes we already know the next/prev entries and we can 15 * generate better c..
Visual C++ 6.0 Platform SDK February 2003 DirectX 9.0 SDK Update (Summer 2004) Visual Studio 6.0 Service Pack 5 (Processor Pack 을 깔기 위해 필요) Visual Studio 6.0 Service Pack 6 Processor Pack (인텔의 MMX 함수를 사용하기 위해 꼭 설치. 코덱 등의 작업에 필수) Microsoft Visual C++ 6.0 배포 (http://activex.microsoft.com/controls/vc/mfc42.cab) Visual C++ 7.1 (VS 2003) Microsoft Visual Studio .NET 2003 서비스 팩 1 (http://www.microsoft..
http://www.codeproject.com/Articles/13601/COM-in-plain-C http://www.codeproject.com/Articles/13862/COM-in-plain-C-Part-2 http://www.codeproject.com/Articles/14037/COM-in-plain-C-Part-3 http://www.codeproject.com/Articles/14117/COM-in-plain-C-Part-4 http://www.codeproject.com/Articles/14183/COM-in-plain-C-Part-5 http://www.codeproject.com/Articles/14905/COM-in-plain-C-Part-6 http://www.codeprojec..
from : http://blog.naver.com/kkan22/80050056044 앞 항에서 Add 함수의 어셈블리 코드를 통해 스택 프레임의 실제 모양을 확인해 보았다. 인수는 뒤쪽부터 순서대로 전달하며 인수 전달에 사용한 스택 영역은 호출원이 정리했는데 이는 C/C++ 언어의 기본 호출 규약인 __cdecl의 스택 프레임 모양일 뿐이다. 호출 규약이 바뀌면 스택 프레임의 모양과 관리 방법도 달라질 수 있다. 호출 규약은 호출원과 함수간의 약속이므로 양쪽이 다른 형태로 약속을 할 수도 있는 것이다. 그렇다면 __cdecl이 아닌 다른 호출 규약은 어떻게 스택 프레임을 작성하는지 차이점을 분석해 보자. 호출 규약에 따라 인수를 전달하는 방법과 스택의 정리 책임, 함수의 이름을 작성하는 방법이 달라진다..