윈도우 CE 애플리케이션 영역과 커널 공간 [메모리 이해] WinCE 애플리케이션 영역아래 그림은 윈도우 CE 애플리케이션 주소 영역을 나타낸다. 프로그램 영역은 각기 정해진 목적에 따라 다수의 영역으로 나뉜다. 첫 번째 영역은 프로그램 코드와 모든 메모리 할당을 담고 있는 하위 1GB의 주소 영역이다. 다른 윈도우 운영체제처럼 『프로그램 코드는 0001 0000의 베이스 주소』에서 상향으로 로드된다. 운영체제는 코드 위에서부터 프로그램이 사용할 정적 데이터 영역, 리소스 데이터, 로컬 힙을 위치시킨다. 여기에는 프로그램 주 스레드가 사용할 스택이 적어도 하나 이상 존재하고, 그 뒤에 보조 스레드용 스택이 온다. WinCE에서 스택, 힙, 직접 가상 할당 등 모든 메모리 할당은 프로그램 주소 영역의 최초..
윈도우 Path API - 경로 함수와 API 정리 출처1 - 알고 있어야 도움이 되는 몇 가지 API들출처2 - Windows Shell Path Handling API 거의 모든 윈도우 애플리케이션에는 파일을 다루는 로직이 들어가게 된다. 미리 설정된 환경설정 파일을 읽어 내거나, 작업하기 위한 데이터가 있는 파일을 읽기도 하고, 현재 Windows 애플리케이션의 환경 설정 파일을 보조 저장장치에 저장하거나, 작업하고 있는 파일 내용을 저장하는 등의 동적은 기본적인 애플리케이션의 기능이다. 보통 이러한 작업은 기존에 재활용을 위하여 잘 정의를 해놓은 MFC의 Windows CFile과 같은 클래스를 이용하지만, 기존 준비해 놓은 클래스에는 없는 기능을 구현하고 싶거나, 클래스 기능을 확장하고 싶을 때..
#ifndef, #define 사용법, 헤더 파일 중복 컴파일, 꼬임 방지 헤더 파일은 서브 시스템이나 다른 코드에 추상화된 인터페이스를 전달하는 메커니즘이다. 한 가지 까다로운 부분은 여러 헤더 파일을 이용할 때 순환 참조나 중복 인크루드되는 경우를 피하는 것이다. 이때 『#ifndef, #define』 사용법으로 해결할 수 있다. 이 두가지를 혼합해 헤더 파일이 중복 컴파일되는, 일명 헤더 파일 꼬임 방지도 할 수 있다. 예를 들어 Logger 클래스를 작성해서 모든 오류 메시지를 로깅해야 할 때, 사용자 설정 정보를 받기 위해 Preferences 클래스를 사용해야 할 수 있다. 그런데 Preferences 클래스가 사용하는 헤더 중에서 의도하지 않게 Logger 클래스를 인클루드 해버릴 수 있다...
안드로이드 Savitzky-Golay Filter 오픈 소스, 사용 방법 출처 - savitzky-golay-filter in Java [링크]소스 - Source Download link [링크] Savitzky-Golay Filter(사비츠키 고레이 필터) 알고리즘의 소스 코드(안드로이드 자바)입니다.이 알고리즘은 스무딩 효과로 유명하며, C++ java c# 등 다양한 오픈 소스 형태로 제공되고 있습니다. 사용하기엔 간단하게 구현되어 있어서 아래처럼 사용하시면 됩니다. 123float[] data = new float[] { 8916.81f, 8934.24f, 9027.06f, 9160.79f, 7509.14f };float[] leftPad = new float[] { 8915.06f, 8845...