본문 바로가기

Engineering71

#pragma를 이용해 바이트 처리단위 변경하기 #include #define _PRAGMA_TEST_ // 이 줄을 주석처리 하느냐 안하느냐에 따라 결과값이 바뀐다. #ifdef _PRAGMA_TEST_ #pragmapack(push, 1) #endif typedef struct tagTest { char cChar; short sShort; int nTest; } TagTest; #ifdef _PRAGMA_TEST_ #pragma pack(pop) #endif int main() { printf("%d", sizeof(TagTest)); getchar(); return 0; } PRAGMA_TEST를 정의하면, 한마디로 pragma pack(push, 1)이 세팅되면, 바이트 처리단위가 1이 되어 구조체의 크기가 7이된다. 정의하지 않으면 32bi.. 2008. 8. 28.
나의 GVIM 셋팅 파일 쓸만한 윈도우용 공짜 에디터를 찾다가 결국 gVIM을 설치하게 되었다 -_-; 여기저기 검색을 해가며 내가 마음에 드는 세팅만 골라서 하였는데 단축키를 통한 BCC 자동 컴파일, 글자체 변경, 일부 윈도우 인터페이스의 적용 등등 그럭저럭 쓸만한 gVIM이 되었다. 세팅을 해가며 읔 나도 VIM 오타쿠가 되어가는 것인가... 하는 생각에 피식 웃음이 나온다. 2008. 8. 25.
Watchdog Timer Watchdog? 감시견을 의미한다. 뭔가를 감시하다가 그 뭔가가 이상하다 싶으면 짖거나 물어버리는 그런 역할말이다. 주인을 항상 감시하다가 주인이 정해진 시간에 밥을 안주면 주인을 물어버리는 그런 상팔자-_-의 개를 생각해볼 수도 있겠다. Watchdog Timer?프로그램 혹은 프로세스를 동작시키는 역할을 하는 녀석중에 가장 중요한 놈이 무엇이냐? 라고 한다면 답은 당연히, 'CPU'이다. 하지만 요놈이 제대로 동작하지 않는다면? 그것이 프로그래머의 실수이건 아니건 간에 말이다. 그래서 프로그래머는 Watchdog Timer(이후 WDT)에게 CPU가 너한테 일정주기로 신호를 보내주지 않거들랑 신호(시그널, 혹은 인터럽트)를 보내달라 이렇게 세팅을 한다. 고로 CPU가 뭔가 오동작을 하거나 프로그래머.. 2008. 8. 20.
[펌] Transaction, Roll back and Commit 멘토께서 검색을 하시다 DB에서 transaction, roll back, commit이 뭐냐? 라고 물어보셨는데 당최 기억이 하나도 나지 않는 것이었다. (사실 몰랐다고 함에 더 가깝다) DB수업을 거의 날로 들어먹었기 때문에 -_-; 아무튼 나는 학부 때 공부를 열심히 하지 않은 땡보로 낙인찍혀 가고있다. ㅋㅋ -_-; Transaction, Roll back and Commit 네이버 지식인 원문 : Click 은행 현금인출기(ATM)에서 돈을 인출하는 과정을 생각해 봅시다. 현금인출을 하겠다고 기계에게 알려준뒤 현금카드를 넣어서 본인임을 인증받고, 인출할 금액을 선택하면 ATM 기는 돈을 내어줍니다. 이러한 거래에 있어서 지켜져야 할 중요한 것이 있습니다. 기계의 오동작 등으로 인하여 전산상으로는.. 2008. 8. 18.