본문 바로가기

전체 글1401

[윈도우API] DIB 섹션 프로그래밍 (WinCE 기준) [윈도우API] DIB 섹션 프로그래밍 (WinCE 기준) 윈도우API CE에서 비트맵 파일을 읽는 작업은 쉽다. 파일을 읽어서 비트맵 정보를 얻어내는 작업 외에도 화면에 있는 비트맵을 읽어서 조작하고, 조작한 비트맵을 화면에 다시 그리는 작업이 필요할 때도 있다. 이런 작업도 DDB보다 윈도우API DIB가 쉽게 처리할 수 있다. DDB에서도 장치 의존적인 비트를 얻어낼 수 있지만 버퍼의 포맷이 장치 의존적이므로 복잡하다. DIB를 사용하면 DIB 섹션을 사용해서 디스플레이 장치의 포맷에 상관없이 이미 정의되어 있는 포맷의 비트맵으로 읽을 수 있으므로 편리하게 프로그램을 작성할 수 있다. 윈도우 운영체제의 발전과 함께 다양한 윈도우API DIB 생성 함수를 지원하게 됐지만 윈도우 CE는 가장 유용한 다.. 2017. 9. 21.
C++ 상속, 다이아몬드 문제란? 그리고 피하는 방법 C++ 상속, 다이아몬드 문제란? 그리고 피하는 방법 위 그림은 C++ 상속, 다이아몬드 문제를 이해하는 데 도움이 됩니다. 클래스 A에서 파생되는 클래스 B와 C가 있다고 가정합니다. 그리고 C++ 상속(다이아몬드를 유발하는 다중 상속)으로 클래스 B와 C의 파생 클래스 D도 생성합니다. (상상만으로도 한숨 나오는 C++ 상속 구조입니다) 여기서 C++ 상속, 다이아몬드 문제의 발생 이유가 나타납니다. 위 그림을 토대로 구체적인 코드를 작성해 보겠습니다. 123456789101112131415--Animal 클래스는 윗 그림의 클래스 D와 같습니다.-- class Animal { -- ... -- }; // base class{ int weight; public: int getWeight() { ret.. 2017. 9. 19.
Jetson TK1, FTDI USB Serial 컨버터 디바이스 드라이버 모듈 설치 Jetson TK1, FTDI USB Serial 컨버터 디바이스 드라이버 모듈 설치 엔비디아의 Jetson TK1용 커널에는 FTDI USB to Serial의 Device Driver가 포함되어 있지 않습니다. 이를 해결 하기 위해선 Jetson TK1 Kernel 소스에서 FTDI USB Serial Converter의 모듈을 추출하고 부팅시 해당 모듈을 로드하여 사용토록 설정해야 합니다. 다운로드 : ftdi_sio.zip lsusb명령으로 시리얼 컨버터를 인식하는지를 먼저 확인합니다. 123$ lsusbBus 002 Device 003: ID 0403:6001 Future Technology Devices Internalional, LTd FT232 USB-Serial (UART) ICColor.. 2017. 9. 19.
QtCreator 단축키, 주로 사용하는 것 QtCreator 단축키, 주로 사용하는 것 제가 유용하게 사용하던 QtCreator 단축키 소개합니다. 모든 단축키를 항상 외우진 못해 적어놨던 것인데, 이 글을 보고 도움되는 분들이 많았으면 좋겠네요. QtCreator 단축키는 Tools > Options > Environment > Keyboard에서 확인할 수 있으며, 이 메뉴에서 단축키 변경할 수 있습니다. 아래는 제가 모은 QtCreator 주요 단축키입니다. 확인해 보세요. General Keyboard Shortcuts창 닫기 : Ctrl+W모든 창 닫기 : Ctrl+Shift+W 뒤로 이동 : Alt+Left앞으로 이동 : Alt+Right 라인으로 바로 이동 : Ctrl+L 초기화면(Welcome 모드) : Ctrl+1코드 편집 모드 .. 2017. 9. 17.