본문 바로가기

VisualStudio.C++.C#   ( 290 )


FlowChartX 설치하기. 기본사용. 다이아그램 코드에서 구현하기. 멤버변수 m_FlowChart 추가하기. (아래 그림. )- 본멤버변수 추가과정에서 클래스 CFlowchrrtpro1 도 자동생성된다. 시험 실행하기. test 라는 단독실행프로그램에서 보이게 한예. FlowChartX 관련 클래스들 추가로 임포팅시키기. 메뉴 : Project -> Add Class... 클릭하여 뜬 창에서 MFC -> MFC Class From TypeLib 선택하고 버튼 Add 클릭하여 뜬 아래창에서 붉박의 type library 선택하고, Interfaces 에 있는 모든 것들의 class 생성시키려면 파랑색 박스 클릭하고 이후 class 중에 CFlowChart 는 앞의 과정에서 이미 생성된 것이므로 선택하여 버튼 < 클릭하여 제외시킨다. 한편, 랩퍼 클래스들이 종류가 너무 많아.. 2016. 1. 29.
MFC 응용프로그램 실행 인자 전달하기. 개요. MFC응용프로그램 실행시점 인자 전달된 것 코드에서 확보하는법. 필요성. 커맨드라인으로 응용프로그램 실행시키면서 인자 전달하고 프로그램내에서 인자 확보하여 처리 요구되는 경우. 이해사항. MFC CWinApp 에서 상속받은 응용프로그램은 코드에서 특별한 코드 작성 하지 않아도 인자 입력 받을 수 있게 구성되어있다. 한편, 커맨드라인으로 인자 전달하면서 실행시킨 경우 코드내에서 인자 받기 위해서는 LPTSTR 타입의 CWinApp의 멤버변수 m_lpCmdLine 값을 참조 한다. InitInstance 함수 내부에서 m_lpCmdLine 값 참조한다. 더보기 CWinApp::m_pCmdLine Corresponds to the lpCmdLine parameter passed by Windows to.. 2016. 1. 28.
DLL 의 절대 경로 알아내기. GetModuleFileName 개요. DLL 의 절대 경로 알아내기. 필요성. DLL 내에서 파일입출력 처리가 있는 경우 DLL내에서 경로처리를 하지 않은 경우 DLL을 로딩한 프로세스의 Current Directory 기준으로 경로 처리된다. DLL 파일이 있는 동일경로로 접근하기 위해서 DLL코드내에서 자신의 절대경로를 확인하여 접근할때 필요함. 구현방법. DLL 코드내에서 함수 GetModuleFIleName 또는 GetModuleFileNameEx 사용한다. 본 함수는 프로세스 코드에서 호출할수도 있고, DLL 코드에서 호출할 수도 있다. DLL 내에서 호출하는 경우는 관계없지만 프로세스 내에서 호출할때는 아래 처럼 함수를 달리 적용해야한다. GetModuleFIleName : DLL 이 현재 프로세스에서 로딩된 경우에만 사용.. 2016. 1. 28.
외부프로그램 실행시키기. CreateProcess, ShellExecute, WinExec 개요 외부프로그램 실행시키는 함수 3개(CreateProcess, ShellExecute,WinExec) 비교 및 CreateProcess 사용법 상세. 비교. WinExec - window3.1 때부터 제공된 함수이며 하위 호환성 때문에 아직도 남아있는것 MS에서는 이 함수 대신 CreateProcess 사용 권장. - UINT WinExec(LPCSTR lpCmdLine, UINT uCmdShow) 인자1:실행할 프로그램 커맨드라인. 인자2:실행시 윈도우 상태 보이기 안보이기등 지정. CreateProcess - 실행옵션 미세 설정가능. 실행시킬 때 인자전달 가능. - 반환값 : 대상프로그램이 실행되면 0 아닌값 , 실행되지 않으면 0반환. - 대상프로그램의 실행여부,실행실패원인,종료여부 확인가능. .. 2016. 1. 28.
VC++. MDI View 를 정적 분할 윈도우로 만들기. 개요 MDI 의 View 를 정적 분할 윈도우로 만들기. 본 과정에서의 결과. 아래처럼 뷰를 정적분할 윈도우로 만든다. 왼쪽과 오른쪽은 서로다른 뷰클래스임. 사전상태 에서의 CyChartView 1개로만 child window가 구성되어있는것을 좌우 분리되도록 하여 왼쪽에는 원래만들어져 있던 CyChartView가 보이게 하고, 오른쪽에는 CyChartSideView (CFormView를 베이스로 하는)가 보이도록 한다. 전체과정. 1. 클래스 CyChartSideView( CFormView 베이스) 프로젝트에 추가.2. 상기1에서 만들어진 것을 분할윈도우로 보이게 하기위하여 클래스 MDIChildWnd (본 예에서는 CCyChartChildFrame) 의 OnCreateClient 함수내에서 코드 추가.. 2016. 1. 26.
VC++ MDI 프로젝트에 신규 문서 템플릿 추가하기. 개요. MDI 프로젝트에 새로운 문서템플릿 추가하기. 설명.MFC위저드로 생성한 MDI 프로젝트에는 1개의 문서타입만 자동생성해준다. 즉, 1개의 "문서클래스, 뷰클래스, 프레임윈도우 클레스" 만 생성된다. 예를들어 MDI 형식으로 생성한 프로젝트 CySignal ( http://igotit.tistory.com/609 ) 를 보면 아래처럼 3개의 클래스가 한 셋을 이루고 있다. 1. 뷰클래스(CView 베이스) : CCySignalView2. 문서클래스 : CCySignalDoc 3. 프레임 윈도우 클래스 : CChildFrame 통상 MDI 형식으로 응용프로그램을 만드는 경우, 응용대상이 단순하지 않기 때문이며 위와같이 1개 형식의 View만으로는 충분치 못한 경우가 많다. 필요에 따라 얼마든지 추가.. 2016. 1. 26.
Visual C++ MDI 프로젝트 만들기. 개요. Visual C++ 에서 MDI 형식의 프로젝트 만드는 과정 상세. MDI : Multiple Document Interface, 다중문서인터페이스. 쉽게 말해 한 개의 프로그램 속에 여러 개의 창이 보이는 스타일. IDE : Visual Studio 2015 프로젝트이름: CySignal 상세. 아래 다중문서를 선택하여 MDI 형식으로 생성하는 것으로 한다. 그 아래 탭 문서의 체크박스 "탭문서"는 창들을 탭으로 정렬되는 방식을 의미한다. 창들을 캐스케이드나 타일로 보이는 형식으로 할려면 선택하지 않으면 된다. 탭문서 란 여러 자식 윈도우를 생성했을때 각각들이 탭으로 정렬되는 것을 의미한다. MDI Tabbed Groups The multiple document interface (MDI) ta.. 2016. 1. 26.
오토벡터라이제이션, 자동병렬화, C++ AMP 퍼포먼스 동영상.N-Body, 모핑. 아래 동영상의 뒷부분 모핑처리하는 것 보면 벡터라이제이션, 병렬화, C++ AMP 성능 확인가능. N-Body 시뮬레이션에서의 벡터라이제이션, 병렬화, C++ AMP 성능 확인. ///588. 2016. 1. 23.
STL Containers. vector, array, deque, list, forward_list 개요. STL Containers 기본지식. STL Containers The Standard Library provides various type-safe containers for storing collections of related objects. The containers are class templates; when you declare a container variable, you specify the type of the elements that the container will hold. Containers can be constructed with initializer lists. They have member functions for adding and removing elements.. 2016. 1. 20.
Stream Data (Real Time) 송수신 개체간 연결 형식 검토. 개요 - 문제정의. 문제 정의. 동일 프로세스 내의 개체들사이에서 Stream Data 를 전달해야하는 시스템에서, 구체적인 달성 방법은 3가지 방식이 있을 수 있다. 어떤 상황에서 어떤 방식이 유용한지 정리. 코드상에서 개체들간의 연결방식은 달라져도 달성해야할 기능적 상황은 동일하다. 즉, 피등록 개체의 버퍼에 데이터 입력되게 하고 즉시 리턴되게 하는것(즉, Non Blocking방식) . 큐에 데이터가 들어온 개체들은 자체 스레드에 의하여 큐버퍼에 있는 내용을 읽어서 이후 후처리를 스스로 진행한다. 주요개념. 개체들의 Q버퍼와 즉시리턴 why?앞의 글에서 즉시 리턴되게 하는 방식은 필수는 아니나, 1개의 개체에 여러 개의 수신할 개체들이 연결된 경우 각 개체들이 Q없는 것이라면 데이터 전송자 입장에서.. 2016. 1. 20.
문자열 복사. _tcscpy_s, strcpy_s, wcscpy_s, _mbscpy_s _tcscpy_s, strcpy_s, wcscpy_s, _mbscpy_s Copies a string. These versions of strcpy, wcscpy, _mbscpy have security enhancements, as described in CRT의 보안 기능. _mbscpy_s cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported with /ZW. 구문복사 errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource ); errno.. 2016. 1. 18.
Window Types. Window TypesThis section contains the following topics that describe window types.Overlapped WindowsPop-up WindowsChild WindowsLayered WindowsMessage-Only WindowsOverlapped WindowsAn overlapped window is a top-level window that has a title bar, border, and client area; it is meant to serve as an application's main window. It can also have a window menu, minimize and maximize buttons, and scroll .. 2016. 1. 17.
C++ std::thread 클래스 이용한 스레드. 클래스멤버함수를 스레드로 실행시키는 방법. 개요 std::thread 클래스 개요및 스레드 생성 코드 예, 클래스 멤버함수를 스레드로 실행시키는 방법 . C++11부터 std::thread 클래스 로 스레드 생성 가능하며, VC++ (Visual Studio 2012 이후 )에서도 사용가능하다. VC++에서 통상적인 스레드 생성하는 AfxBeginThread 방식(상세보기 -> http://igotit.tistory.com/211 ) 보다 많이 편하다. 헤더 : thread 클래스 프로그램내의 스레드 생성 관리. 설명 You can use a thread object to observe and manage a thread of execution within an application.A thread object that's created by u.. 2016. 1. 16.
MFC 프로그래스 컨트롤 사용하기. Progress Control 1. 도구상자에서 "Progress Control" 선택하여 배치한다. 2. 상기1의 배치된 프로그래스 컨트롤의 속성에서 ID 설정한다. 혹은 기본 자동 생성ID 그대로 둬도 된다. 3. 클래스 위저드 실행하여 멤버변수 지정. 예. m_PgrsQBufDelayTime 4. 프로그래스 컨트롤 초기화. - 표현할 최소, 최대값 지정. 예. m_PgrsQBufDelayTime.SetRange(0,2000); 5. 프로그래스에 값표현. 값읽기.값 표현. m_PgrsQBufDelayTime.SetPos(100); // 100의 위치까지 바표현됨. 값 읽기. m_PgrsQBufDelayTime.GetPos(); // 함수 반환값으로 현재 위치 반환됨. 바 색상지정 함수 : SetBar.. 2016. 1. 16.
Chart Director for C++ 개요, 설치. 설정. 개요 ChartDirector 는 개발중 프로그램에서 챠트기능을 구현할 수 있게 해주는 컴포넌트이며 거의 모든 언어 지원된다. 지원언어 : C++, .net, ASP/COM/VB, JSP/Java, ColdFusion, PHP, Perl, Python, Ruby. 그릴수 있는 챠트종류 : Pie,XY,3D Surface, 3D Scatter, Polar/Radar, Pyramids/Cones/Funnels, Meter/Gauage. Chart Director는 각 언어별로 배포파일이 따로 제공되고 있다. 자유롭게 다운로드 받을 수 있고, 기간/기능 제한 없음. ChartDirector 도입한 응용프로그램이 상용인 경우 라이센스 구입해야함. 본 글에서 아래 3개 내용 정리된다. 1. C++ 용 Chart .. 2016. 1. 15.
MFC 체크박스 사용하기. 1. 도구상자에서 체크박스 드래그드롭으로 배치. 2. 속성 : ID 기록 혹은 기본 생성값 그대로. 3. 체크박스의 멤버변수 추가. 클래스위저드(ctrl shift x) -> 탭 멤버변수 -> 컨트롤 아이디 상기 2인 것을 클릭하여, 변수이름 기록하고, 4. 코드에서 체크박스의 상태 읽기 함수. m_CheckMarketDataView.GetCheck() ; 반환값 1이면, 체크 상태. 0이면 체크아닌 상태. 5. 코드에서 체크박스 상태 설정함수. m_CheckMarketDataView.SetCheck(1 혹은 0); //1이면 체크상태로 설정한다. 0이면 체크안된 상태로 설정한다. 본 글이 포함된 상위 정리 장소. Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tist.. 2016. 1. 15.
Thread Safety (스레드 안전) Interlocked. 함수들. 개요 Interlocked 류 함수들은 멀티스레드 환경에서 long 타입, 포인터타입의 공유변수들의 단순한 처리(+1, -1,더하기, 대입, 비교대입) 에 있어서 함수 자체에서 스레드 안전을 보장한다. Interlocked 함수들의 내부처리는 Atomic Operation 으로 이뤄지며, Atomic Operation이 "interrupt 당하지 않는(같은 말 : 컨텍스트 전환 이 생기지 않는) 처리 "이므로 함수처리 완료시까지 다른 스레드의 침범을 받지 않게됨. 코드예를 보면, 아래 예1의 비안전 코드를 예2처럼 InterlockedIncrement 라는 함수 사용하는것 만으로도 전역변수 gCount 는 thread safety 해진다. 비교 : 아래 gCount++; 구간을 크리티컬 섹션(상세보기->.. 2016. 1. 12.
Thread Local Storage(스레드 로컬 스토리지) 개요. TLS (Thread Local Storage)는 각 스레드마다 유일하게 할당된 메모리 블럭인 "스레드컨트롤블럭(Thread Control Block)" 에 위치하며, 다른 스레드와 공유되지 않는 영역. 설명. 프로세스와 스레드 의 공유자원 일반. 프로세스 내의 스레드 들은 프로세스의 자원(주소공간, 파일핸들, 전역변수, 정적변수, 힙등)을 "공유"한다. 즉, 스레드 내의 지역변수를 제외한 힙, 전역변수,정적변수는 다른 모든 스레드 에서 접근 가능하다. TLS 이용한 경우, 스레드에서 TLS영역에 정의된 데이터는 다른 스레드와 공유되지 않는다. TLS 사용방식 2가지. 방식1. 키워드 __declspec ( thread) 이용하여 변수선언. 아래처럼 선언하고 코드에서 일반변수 사용하듯이 그냥 사용.. 2016. 1. 12.


 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5