반응형

Programming 151

ShellExecute 파일 실행, 프로세스 종료 될 때까지 기다림

SHELLEXECUTEINFO execinfo; // 실행을 위해 구조체 세트 ZeroMemory( &execinfo, sizeof(execinfo) ); execinfo.cbSize = sizeof(execinfo); execinfo.lpVerb = "open"; execinfo.lpFile = "D:\\Program\\octave-3.8.2\\bin\\octave.exe"; execinfo.lpParameters = "\"c:\\octavescript.txt\""; execinfo.fMask = SEE_MASK_FLAG_NO_UI | SEE_MASK_NOCLOSEPROCESS; execinfo.nShow = SW_SHOWDEFAULT; // 프로그램을 실행한다. int r = (int)ShellExe..

Programming/MFC-C++ 2015.05.29

[코드 최적화]프로그램 속도 향상 방법

- 2008년 자료 발췌1. CPU 레지스터의 사용자주 사용되는 변수는 cpu 레지스터에 저장 명령어 : auto int nLoopCounter; register int nCount = 0; 2. Lookup Table 사용예) cos 경우 배열[90]을 만들어 미리 저장해놓고 참조하여 사용일천만번 회전 하는데 20초, 룩업 테이블 사용시 2초 3. 메모리 할당GlobalAlloc() 윈도우 힙에 저장CRT 힙의 경우 64k 할당 받아가 그 다음 2배씩 할당 받는데 실시간으로 계속 할당 받는 부담데이터가 큰 경우 윈도우 힙 사용단점 : 윈도우 98 에서는 문제가 됨.malloc 보다 new가 빠름.단점 : new 로 할당한 함수는 delete가 안됨(윈도우98에서)모트리 연구소의 경력 20년의 개발자들과..

Programming 2015.05.25

텍스트 파일(Text File) 인코딩 포멧 알아내기

텍스트 파일을 보면 유니코드(Unicode), UTF8+BOM, UTF8등의 포멧이 있다.이러한 포멧들은 앞에 2바이트의 헤더를 갖는다. 이러한 헤더를 읽어 인식하는 코드는 다음과 같다. enum CHARACTER_ENCODING { ANSI, Unicode, Unicode_big_endian, UTF8_with_BOM, UTF8_without_BOM }; CHARACTER_ENCODING CProjectNameChangeDlg::get_text_file_encoding(const char *filename) { CHARACTER_ENCODING encoding; unsigned char uniTxt[] = {0xFF, 0xFE};// Unicode file header unsigned char endi..

Programming/MFC-C++ 2015.05.18

무료 온라인 파이썬(Python) 교재

파이썬을 공부하기 위한 강좌같은 교재, 무료라서 더 Good!!!파이썬(Python) 교재 : http://byteofpython-korean.sourceforge.net/byte_of_python.htmlPDF(한글) : http://byteofpython-korean.sourceforge.net/byte_of_python.pdfPDF(영문) : http://files.swaroopch.com/python/byte_of_python.pdf※ Table of Contents1. 책머리2. 헌정3. 서문4. 소개5. 설치6. 첫 걸음7. 기초8. 연산자와 수식9. 흐름 제어10. 함수11. 모듈12. 자료 구조13. 실생활 문제 해결14. 객체 지향 프로그래밍15. 입력과 출력16. 예외 처리17. 표준 ..

Programming/Python 2015.05.18

Git 강좌 및 튜토리얼

누구나 쉽게 이해할 수 있는 Git 입문 : http://backlogtool.com/git-guide/kr/intro/intro1_1.html입문 편, 발전 편으로 구성 ▶ Git란?- 소스코드를 효과적으로 관리하기 위해 개발된 '분산형 버전 관리 시스템'입니다. 원래는 Linux 소스코드를 관리할 목적으로 개발 되었습니다. Git에서는 소스 코드가 변경된 이력을 쉽게 확인할 수 있고, 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수도 있습니다. 또 내가 올리려는 파일이 누군가 편집한 내용과 충돌한다면, 서버에 업로드 할 때 경고 메시지가 발생됩니다. 누군가가 애써 편집한 내용을 덮어써버리는 실수는 이제 없겠죠!

Programming 2015.05.15

Thread Pool C++ 11

병렬 처리를 위한 Thread Pool C++ 요즘 코드를 보니, Thread Pool를 이용한 코드가 많이 보였다. 그래서 검색. 일단 예제 코드 keep, 컴파일하여 테스트해보려 했으나, VS2010에서는 동작 안한다고 한다. [참조] - 이유인 즉슨, Visual Studio 2010에서는 C++ 11이 구현되어 있지 않가고 한다. Visual Studio 2013에서 테스트한 결과 정상 동작 이를 잘 활용하려면, 람다 표현식에 대해 약간의 공부가 필요할 듯 함 ( 람다 표현식에 관한 정리 참조 ) 병렬처리 시 중요한 부분은 캡쳐블록임. 공유 변수에 대한 처리와 관련이 깊기 때문이다. 그리고, 기존 프로그램에 쉽게 적용하기 위해, 람다 표현식에서 멤버 함수를 지정할 수 있는 여러가지 방법 예제가 필..

Programming/MFC-C++ 2015.05.14
반응형