C++ List index 랜덤 접근, lterator advance next 응용 (비추천) advance 함수를 이용해 C++ List index에 접근합니다. 그리고 해당 데이터를 복사해 가져오는 건데 ... 별로 좋아 보이진 않는군요. 저런 루틴이 반복적으로 돈다면 ... 아우... 끔찍합니다. 정말 급하디급할 때 잠깐 써먹기엔 좋겠네요. 참고로, .size() 함수는 매번 컨테이너를 순회하며 크기를 세다 보니 O(n)의 속도가 나옵니다. 그러니, 커다란 컨테이너에서 size()를 호출하는 함수가 있다면 당장 지우세요. c++11 forward_list는 이점 때문에 size() 함수를 아예 제거했습니다. 123456789101112131415161718std::list l;// add eleme..
GDB 사용법과 명령어 정리, GNU debugger 디버깅 (메모리 덤프 해결) GNU debugger GDB 소개, GDB 사용법 GNU debugger이며, 줄여서 GDB라고 불리는 이 소프트웨어는 GNU 소프트웨어 시스템을 위한 표준 GNU debugger이다. GNU debugger GDB는 다양한 유닉스 계열 시스템에서 동작하며, C, C++, 포트란을 비롯한 수많은 프로그래밍 언어를 디버깅하도록 도와주는 이식성 높은 GNU debugger이다. 단순하고 직관적인 디버거인 GNU debugger GDB GNU debugger GDB는 CLI(명령 라인 인터페이스)를 통해 각종 정보를 제공하는데, 메모리 정보, 스택 정보, 레지스터 정보 등 매우 다양한 정보를 제공한다. GDB 사용법 = 기본적..
C# 그림판 - GDI 코딩배우기 (닷넷 윈폼 GUI 프로그래밍 강좌) 제가 학생 시절에 만들었던 C# 그림판입니다. 지금 다시 보니 null 여부도 거르지 않고 엉망으로 만들어 놨네요. 어쨌든, 일단 공유하는 차원에서 업로드 합니다. C# 그림판 첨부파일 프로젝트 전체 압축 파일 : PaintEx.cs [다운] 윈폼 디자이너 소스 : PaintEX.Designer.cs [다운] 윈폼 기능 구현 소스 : PaintEX.zip [다운] MSDN에서 참조한 DrawData 클래스 : DrawData.cs [다운] 1. PaintBox 초기화 바로 아래 코드는 프로그램을 처음 실행할 때, 수행되는 코드입니다. C# 그림판 Form이 로드 될 때 불려지는 코드가 되겠죠. ResizeRedraw의 값을 기준으로 ..
[Qt프로그래밍] 다국어 처리 Qt개발 (linguist qm 기초 사용 방법) 1. 전반적인 사항 출처 - Qt 다국어 처리 [클릭] 전반적인 사항은 위의 출처를 참고하시면 됩니다. Qt프로그래밍에서 다국어 처리하는 이유는 Qt이기 때문입니다. Qt는 멀티플랫폼에서 구동되기에 이러한 특색을 잘 살리고 원래의 의도대로 Qt 개발하기기 위해서 반드시 다국어 처리해야 합니다. 2. 코딩 시 필요한 언어별 코드추가로 Qt프로그래밍 시 필요한 언어별 코드는 아래를 참고하세요. Qt개발할 때 필요한 주요 부분입니다. 3. 자료형 변환 문제Qt 개발한 시스템 언어 설정을 위해선 dpgk-reconfigure를 설치하고, /etc/environment의 default 언어를 수정해야 합니다. 123# nano /et..
C# 한글 깨짐, 파일스트림 euckr 추가 (인코딩 기초 프로그래밍 코딩) C# 한글깨짐은 파일을 다룰 때, 종종 발생합니다. 구글어스의 Kml 파일을 예로 C# 한글깨짐을 살펴보죠. 1234567FileStream Stream = new FileStream(@"C:\test.kml", FileMode.Open, FileAccess.ReadWrite);StreamReader Reader = new StreamReader(Stream, Encoding.Default, true); String getReader = Reader.ReadToEnd(); byte[] b = System.Text.Encoding.Default.GetBytes(getReader);Stream.Write(b, 0, getReader..
비트맵 코드 변환기 (bmp -> hex 코드) jpg 이미지 무료 프로그램 코딩 중에 유용하게 사용할 수 있는 비트맵 컨버터입니다. 첨부된 그림의 내용처럼 비트맵을 hex 코드로 변환시켜 줍니다. PCB를 이용해서 뭔가를 만들 땐 꽤 유용합니다. 자료제공 사이트 : 이지써킷 [클릭]프로그램 : ez-Bitmap_Converter_R1.0.zip메뉴얼 : 24 bits BMP to 8 Bits 비트맵 그림파일 변환툴.hwp Converter Manual 24 bits BMP to 8 Bits 비트맵 그림 파일 변환툴(BGR332)LCD 화면상에 원하는 image를 표현하려면 image 에 대한 각 pixel의 color data가 필요합니다. 일반적인 사진은 Jpeg 형태로 압축되어 있습니다. LCD에 ..
1. 뺄셈 기호엑셀에서 뺄셈(빼기)를 하는 경우 기호는 - (빼기)입니다. 셀에 들어있는 데이터(수치 함수 결과)와 - (마이너스) 값을 직접 더합니다. 엑셀 함수 빼기는 별도로 없으므로, - (빼기 기호)를 사용합니다. 2. 뺄셈 입력 예셀 A2에서 B2 셀 값을 뺀 계산 결과 수식은 아래와 같습니다. 1= A2-B2cs 변경할 계획이 없는 고정 값(예를 들어 10)을 셀 C3에서 빼려면 다음 수식을 입력합니다. 1= C3-10cs 3. 시간을 빼는 경우 엑셀에서 시간을 빼는 계산도 가능합니다. 엑셀 함수 빼기(뺄셈) 뿐만 아니라 더하기도 가능합니다. 시작 시간, 종료시간을 셀에 입력하고 뻴셈 - 사용하면 됩니다. 1= A1-B1 (시작 시간-종료 시간)cs 4. 셀 주소 고정하기예를 들어, 각 셀에..
[Qt프로그래밍] Thread를 GUI에서 효율적으로 사용 방법 [Qt5] C#도 그렇고 Qt도 그렇고 버전이 올라갈 때마다 더 많고 합리적인 라이브러리가 추가(수정)됩니다. (C# 스레드풀 예제[링크]) Qt는 이전부터 그래왔지만, 기본 스레드에서 GUI의 도구에 접근할 때면 여러 경고 메시지를 내뿜습니다. 가령, 아래처럼 말이죠. Qt프로그래밍 중 자주 보게 될 에러입니다. 12QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another threadcs 그렇기에, 굳이 스레드가 필요하다면 아래 사이트를 참조해 별도의 스레드를 구현할 필요가 있습니다. Timer는 독립적으로 구동되어야 합니다. GUI 도구에 영향..
NetBeans C/C++ 개발환경 설정 사용법 [무료 IDE, 윈도우7 64비트] NetBeans[클릭]로 C/C++을 사용할 수 있는 방법 중 유명한 두 가지 방법이 있습니다. 하나는 Cygwin을 이용한 것이고 다른 하나는 MinGW를 이용하는 것입니다. 기본적으로, C/C++ 버전을 사용하기 위해 필요한 기초 지식은 C/C++ Support를 참조하시고, 여러 특징에 대해선 C and C++ Development를 참조하시면 되겠습니다. C/C++ 버전의 NetBeans를 사용하기 위해서 설치해야할 파일들이 몇 개 있습니다. 1. MinGW 관련 사이트 공식 홈페이지 - Minimalist GNU for WindowsMinGW 다운로드 - Source ForgeMinGW 다운로드(Direct) -..