본문 바로가기

전체 글1401

Debug assertion failed 6가지 해결 방법 (debugger 팁) Debug assertion failed 6가지 해결 방법 (debugger 팁) Assert() 사용 간혹, Release 모드에선 정상, Debug 모드에선 에러가 발생하는 경우가 있습니다. Assert()는 Release 모드에선 무시가 되며, 에러가 발생하는 부분을 포함하지 않게 됩니다. 즉, 오류가 발생하는 부분을 컴파일러가 잘라버리고 프로그램이 구동되니, 실제로는, Release 모드에서 "정상"이라고 말할 수 없습니다. 서비스팩 옆 동료는 디버깅이 잘되는데, 나만 안된다면, 서비스팩을 설치해서 오류가 나던 부분의 소스 코드를 비교해 보세요. 서비스팩을 설치해서 오류를 제거했다면, 분명 뭔가 다를 겁니다. 서비스팩을 설치해서 오류를 제거했다면 말이죠. DDX_Text(), Resource.h... 2017. 10. 7.
[안드로이드 강좌] NFC Reader 프로그래밍 소스 (Mifare) [안드로이드 강좌] NFC Reader 프로그래밍 소스 (Mifare) 안드로이드 강좌 - Mifare NFC Reader 프로그래밍 기초 안드로이드 Mifare NFC의 기본 구조는 참조 링크(Mifare 카드구조)에서 확인하시고, NFC Reader로 NFC 데이터를 읽기 위해선 NDEF를 거쳐야 합니다. 이 과정은 어느 분께서 pdf(NDEF NFC Forum Spec.pdf)로 정리해 주셨으니 문서로 확인하시면 됩니다. 안드로이드 Mifare NFC 중 A타입은 위와 같습니다. 16개의 섹터는 각각 4개의 블럭을 보유하고 있고, 각 블록 중 3개 블록은 위와 같은 구조로 이루어져 있습니다. 정확한 Mifare NFC 스펙과 구조는 fcd-14443-3과 fcd-14443-4의 pdf 파일에 있고,.. 2017. 10. 6.
[C++구조체] #Pragma Once 사용, 헤더파일 안전하게 사용 [C++구조체] #Pragma Once 사용, 헤더파일 안전하게 사용 1. 소개 헤더 파일은 프로그램에서 사용할 요소들을 미리 선언하고 정의한 내용을 담고 있습니다. 예를 들면, Class Template의 Layout 정보는 헤더 파일에 정의되어 있고(사용할 변수, 함수 등), Implementation File들은 실제로 함수와 변수들을 구현합니다. 2. #Pragma Once, 헤더 파일 Include .h나 .hpp의 확장자의 헤더 파일은 #include로 참조할 수 있고, .cpp 파일은 헤더 파일의 선언부 정의 내용을 담습니다. 아래는 선언 예입니다. 12#include "stdafx.h"#include cs 3. 두 가지 타입의 Include와 #Pragma Once 사용할 라이브러리는 한 .. 2017. 10. 5.
[C++구조체] #Pragma pack(1) 지시어 이해하기 [C++구조체] #Pragma pack(1) 지시어 이해하기 Word Alignment(#pragma pack) Word Alignment(#pragma pack)는 어려운 개념은 아니지만, 매우 중요한 개념입니다. 우리는 하나의 word가 4바이트란 건 알고 있습니다. 메모리 주소 체계도 4바이트로 이뤄지며, 0x01ab23cd와 같은 값은 0x01, 0xab, 0x23, 0xcd로 각각 분리되어 저장되는 것도 알고 있죠. 알아야 #pragma pack도 이해할 수 있습니다. 그 저장되는 방법은 little Endian과 Big Endian으로 이 경우엔 0x01이 맨 뒤, 또는 맨 앞에 저장될 겁니다. 다소, 부정확한 의미가 될 순 있지만, 0x01이 저장된 주소가 N(1001) 번지라면 그다음 주소.. 2017. 10. 4.