반응형
반응형
Network bridge 방식으로 증권사 API 활용하기-2-Memory Pool Implemantation 이전 글에서 언급한 내용은 아래와 같습니다. 증권사 API 가 32비트로 제공되는데 따른 프로그램 개발 제약사항 Network bridge 방식으로 트레이딩프로그램과 API커넥터 두 개의 프로그램 개발 필요성 두 프로그램 간 데이터 통신용 패킷관리를 위한 메모리풀 구조 스케치 이번 글에서는 이전 글에서 언급한 메모리풀을 실제 코드로 구현하고 동작까지 확인하겠습니다. In the previous article, we mentioned the following: Program development constraints due to the 32-bit provision of the stock API ..
증권사에서 제공하는 COM, OCX, DLL 포맷의 API 라이브러리는 32비트로 개발되어 있습니다. 그래서 개발 프로그램에는 가상 메모리 공간 4GB 크기의 제약이 있고 64비트 기반의 최신 라이브러리와 연동하기 어려운 점이 있습니다. 그래서 API 라이브러리는 증권사 서버와의 커넥터 역할만 하도록 하고 별도의 로직 프로그램을 64비트로 개발하여 커넥터와 로직 프로그램을 연결하고 있습니다. PC에 설치되어 있는 HTS의 OCX 모듈과 연계하는 방식이 아닌 DLL 연계 방식의 API는 커넥터를 여러 개 실행하여 다계정으로 API를 사용할 수 있게 되어 보다 고도화된 프로그램 로직 구현이 가능합니다. Network bridge 방식으로 증권사 API 활용하기-1-Overview 증권사에서 제공하는 API는..
이번 포스팅에서는 MFC 환경에서 Modeless Dialog를 생성하고 사용하는 법을 알아보겠습니다. Dialog에는 Modal과 Modeless가 있는데 Modal은 부모 윈도를 제어할 수 없지만 Modeless는 각각 독립적으로 동작하는 특징이 있어서 저는 Modeless를 선호합니다. Modeless Dialog의 Base Class는 CDialog입니다. 1. Dialog 비교 Modeless Dialog는 CDialog 기본 생성자를 호출하여 Dialg object를 생성하지만 DoModal() 대신 CDialog:Create 멤버 함수 호출이 필요합니다. Create()는 리소스 ID를 매개 변수로 사용하고 Dialog가 화면에 계속 표시된 상태로 즉시 반환됩니다. Modal Dialog M..
openssl 소스코드를 static library로 빌드하여 MFC 프로젝트에 통합하는 내용입니다. 그럼 따라와요 출발~ (참고로 실패한 글입니다.) 프로젝트에 어떤 crypto library를 적용할지 각 라이브러리 비교 후 crypto++과 많은 고민 하다가 openssl로 결정. 각 라이브러리 비교페이지는 아래 위키를 참조해주세요. https://en.wikipedia.org/wiki/Comparison_of_cryptography_libraries Comparison of cryptography libraries - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search The tables below co..
프로그램 개발 중 프로그램 에러는 컴파일 에러와 런타임 에러가 있습니다. 이번 포스팅에서는 런타임 에러 발생 시 디버깅에 필요한 정보를 파일로 저장하는 방법을 알아보겠습니다. 1. 런타임 에러의 종류 구문오류는 컴파일 타임에 컴파일러가 알려주는데 아래와 같은 런타임 에러는 프로그램이 그냥 꺼져버립니다. 그래서 별도로 그 순간의 스냅샷 정보를 저장하지 않으면 디버깅이 어렵습니다. 런타임 에러의 분석과 해결을 위해서는 당시 메모리와 레지스터 등의 디버깅에 필요한 정보를 파일로 저장할 필요가 있습니다. https://docs.microsoft.com/en-us/windows/win32/dxtecharts/crash-dump-analysis의 Crash Dump Analysis가 그 방법을 알려주고 있습니다. ..
이번 포스팅에서는 C/C++ GUI 개발 환경에서 로그 출력을 위한 Logger 매크로를 작성하여 효율적으로 디버깅 메시지를 출력하는 방법을 알아보도록 하겠습니다. Logger 요구사항은 다음과 같습니다. MFC 프로그램 개발 시 콘솔 로그를 확인할 수 있어야 한다. 로그가 파일로 저장되어야 한다. 1. 콘솔창에 로그 출력하는 방법 MFC와 같은 GUI 개발환경에서 콘솔로 로그를 출력하려면 컴파일 단계에서 링커에게 콘솔을 띄우도록 알려줘야 합니다. 그 방법은 아래 코드를 참조하면 됩니다. framework.h 에 아래 내용 추가 후 코드에서 DPRINTF 함수를 호출하면 별도 콘솔창에 로그가 출력됩니다. #ifdef _DEBUG #ifdef _UNICODE #define WIDEN(x) L ## x #d..