본문 바로가기

프로그래밍/C,C++

(19)
[C#] 완전 이진트리 1차원배열 정 이진트리 레벨마다 2배씩 늘어남. 전체 노드의 수는 2^(n+1) - 1 레벨별로 직렬화해 배열에 담으면 아래와 같이 계산됨 루트 = 0 Parent = (인덱스-1)/2; Child left = (2*인덱스) + 1 Child right = (2*인덱스) + 2 using System; using System.Collections; public class Heap where T : IHeapItem { T[] items; int currentItemCount; public Heap( int maxHeapSize ) { items = new T[maxHeapSize]; } public int Count { get { return currentItemCount; } } public bool Contai..
[Mono] Embedding Mono https://www.mono-project.com/docs/advanced/embedding/ Embedding Mono | Mono Embedding Mono This document describes how to embed the Mono runtime in your application, and how to invoke managed methods from C, and how to invoke C code from managed code. For a general overview of why you would like to embed Mono in your application s www.mono-project.com #include #include #include #pragma comment(l..
MS 프로젝트 파일 MSBuild.exe VS2017C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin .NETC:\Windows\Microsoft.NET\Framework\각버전 프로퍼티 정의Debug{00000000-0000-0000-0000-000000000000}Exe,Library루트 이름dll 이름1.0.0v3.5v3.5. 특정 조건별 프로퍼티 정의 : 위에 정의된 Configuration 속성에 따라 하위 프로퍼티 정의 truefullfalsebin\Debug\DEBUG;TRACEprompt4 pdbonlytruebin\Release\TRACEprompt4 아이템 정의 참조추가 커스텀 dll 참조 추가 : 공개키는 >sn ..
Boost 라이브러리 빌드 boost 1.68 > bootstrap.bat b2 빌드> b2 --prefix=C:\Boost toolset=msvc variant=debug,release runtime-link=static,shared 옵션 --prefix=인스톨 디렉토리 설정기본은 c:\Boost , /usr/local --exec-prefix=--libdir=--includedir=기타 파일들도 설치 디렉토리를 지정 가능. 기본값은 prefix 하위 각 폴더 --stage빌드시 컴파일된 라이브러리 파일이 설치될 폴더기본은 현재폴더/stage --clean 속성toolset : 컴파일러 설정, vs의 경우 msvc 또는 msvc-version 사용.toolset=msvctoolset=msvc-14.1 variant : 빌드 종류..
[Win API] Console project 콘솔 윈도우 버튼 제거최소, 최대 버튼HWND consoleWindow = GetConsoleWindow();LONG style = GetWindowLong(consoleWindow, GWL_STYLE );style = style & ~(WS_MINIMIZEBOX|WS_MAXIMIZEBOX);SetWindowLong(consoleWindow, GWL_STYLE, style); 닫기버튼HMENU closeMenu = GetSystemMenu(consoleWindow, FALSE);EnableMenuItem( closeMenu, SC_CLOSE, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED); 비동기 키입력loop = TRUE;while(loop){if( GetAsyncKeyState(VK..
[C++] 시스템 클럭 밀리세컨드 얻기 #include using std::chrono;long long timeMili = duration_cast(system_clock::now().time_since_epoch()).count();
Kinect sdk 이미지 얻기 #include IKinectSensor* pSensor;GetDefaultKinectSensor(&pSensor);pSensor->Open(); // SourceIColorFrameSource* pColorSource;pSensor->get_ColorFrameSource(&pColorSource); IDepthFrameSource* pDepthSource;pSensor->get_DepthFrameSource(&pDepthSource); IInfraredFrameSource* pInfraredSource;pSensor->getInfraredFrameSource(&pInfraredSource); // ReaderIColorFrameReader* pColorReader;pColorSource->OpenRea..
C# OLEDB 엑셀 읽기 엑셀 OLEDB 연결 스트링 - XLSProvider=Microsoft.Jet.OLEDB.4.0;Data Source="파일명";Mode=ReadWrite|Share Deny None;Extended Properties='Excel 8.0; HDR=YES; IMEX=1';Persist Security Info=False - XLSXProvider=Microsoft.ACE.OLEDB.12.0;Data Source="파일명";Mode=ReadWrite|Sare Deny None;Extened Properties='Excel 12.0; HDR=YES; IMEX=1';Persist Security Info=False; HDR: 첫행이 데이터가 아닌 필드명인 경우 YES, 첫행부터 데이터면 NOIMEX: 0 ex..