글
-
C언어 공부법과 책추천Legacy/C&C++ 2015. 1. 12. 23:10
출처 - http://sunyzero.tistory.com/225 8월 13일 원글 수정되었음. 이 글은 C언어를 공부할 때 헤메지 않고 국제 표준인 정종(正種) C언어를 배우는데 도움을 주고자 쓰여졌다.그러기 위해 알아야 하는 용어나 기반지식들을 살펴보고, 추천 도서인 KNK, K&R에 대해 소개하겠다. 2015년을 기점으로 현대 컴퓨팅 환경에서 C언어의 위치는 거의 바닥에 존재하는 기초 언어이다.C언어 뒤에 등장한 프로그래밍 언어들은 C언어 문법체계를 따라했을 정도로 큰 족적을 남기기도 했다. 또한 운영체제(Operating system)의 설계 및 구현에 사용되었기에 시스템 하부 구조를 배울 때 빠짐없이 등장하는 단골손님이기도 하다. OS, Network, C language 이런 연유로 C언어는 ..
-
무결성, 쓰레드, 뮤텍스, 세마포어에 대한 간단한 정리Legacy/Win API 2015. 1. 12. 21:00
출처 : 잇힝국대통령(sungeuns) http://cafe.naver.com/cmenia/2627, 블링블링 (cabsoft88) http://blog.naver.com/cabsoft88?Redirect=Log&logNo=90115377264, 네이버지식백과 ■ 무결성(integrity) 데이터 및 네트워크 보안에 있어서 정보가 인가된 사람에 의해서 만이 접근 또는 변경 가능하다는 확실성. 무결성 대책은 네트워크 단말기와 서버의 물리적 환경 통제, 데이터 접근 억제 등의 엄격한 인가 관행을 유지하는 것이다. 한편, 데이터 무결성은 열, 먼지, 전기적 서지(surge)와 같은 환경적 해이에 의해 위협받을 수 있는데, 데이터 무결성의 물리적 환경 대책은 네트워크 관리자만의 서버 접근, 케이블 혹은 콘넥터와..
-
2014.12.23 Polymorphic 자료형Legacy/뇌자극 - WinSysProg 2014. 12. 23. 12:54
Polymorphic 자료형12345678910111213#if defined (_WIN64) typedef __int64 LONG_PTR; typedef unsigned __int64 ULONG_PTR; typedef __int64 INT_PTR; typedef unsigned __int64 UINT_PTR;#else typedef long LONG_PTR; typedef unsigned long ULONG_PTR; typedef int INT_PTR; typedef unsigned int UINT_PTR;#endifcsPTR이 붙어있지만 포인터는 아님!포인터값 기반의 산술연산을 위해 정의된 자료형이기 때문에 PTR이 붙음 오류의 확인GetLastError 함수 사용오류가 발생했을 때, 이어서 바로 G..
-
2014.12.21 LPCTSTR LPTSTRLegacy/뇌자극 - WinSysProg 2014. 12. 21. 10:36
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253LPSTR CHAR *LPCSTR CONST CHAR * LPWSTR WCHAR *LPCWSTR CONST WCHAR * #ifdef UNICODE typedef WCHAR TCHAR; typedef LPWSTR LPTSTR; typedef LPCWSTR LPCTSTR;#else typedef CHAR TCHAR; typedef LPSTR LPTSTR; typedef LPCSTR LPCTSTR;#endif #ifdef _UNICODE #define __T(x) L ## x#else #define __T(x) x#endif #defin..
-
SegmentationsLegacy/OS 2014. 12. 15. 01:20
Segmentation fault 메모리 관리 1) 세그멘테이션 : 메모리를 가변길이로 나누어 관리 2) 페이징 : 메모리를 고정크기로 나누어 관리 이렇게 2가지로 크게 나누어 볼수 있습니다. 둘다에 대한 상세한 설명은 피하기로 하고 주관심사인 segmentation fault에 대해서만 언급하겠습니다. 운영체제가 메모리를 관리할때 여러가지 작업을 수행해야 하며 특히, 메모리 보호를 하게 되어 있습니다. 메모리 보호란, 각각의 프로세스가 자신이 소유한 메모리에 대해서만 액세스하도록 하는것입니다. 즉, 다른 프로세스(심지어는 운영체제영역)의 영역에는 침범할 수 없다는 것이지요. 마치 파일시스템에서 자기 소유가 아닌 디렉터리나 파일에는 쓰기, 읽기등이 안되거나 하는 것같은 메커니즘이지요. A라는 프로그램이 ..
-
Fragmentation, Paging, SegmentationLegacy/OS 2014. 12. 15. 01:15
1. Fragmentation(단편화) - 주기억장치 상에서 사용되지 않고 낭비되는 부분적인 기억공간 기억장치 관리 기법은 단일분할기법,다중연속고정분할기법,다중연속가변분할기법이 있는데,다중연속고정분할기법은 기억장치를 서로 다른 고정 크기로 분할하여 다수의 프로그램이 처리되도록 이용하는 방법이다. 그래서 단편화가 발생하며, 단편화는 내부 단편화와 외부 단편화가 있다. 만약 크기가 25K인 공간에 크기가 20K인 작업을 할당하면 5K가 남는데, 이 때 남겨진 5K를 내부 단편화라고 한다. 또한 25K인 공간에 크기가 29K인 작업을 할당을 하게 되면 4K가 모자라게 되는데, 외부 단편화는 내부단편화와는 다르게 작업의 크기(29K)를 외부 단편화라고 한다. 그래서 외부 단편화는 어떤 프로그램을 할당할 수 있을..
-
0x03 입력과 출력 - 출력Legacy/C 2014. 12. 14. 04:27
오늘은 키보드를 통한 입력과 모니터를 통한 출력에 대해 배워보겠습니다. 데이터의 입력과 출력은 C 언어에서 제공한느 표준 라이브러리 함수의 일부인 입출력 함수를 이용해 코딩할 수 있습니다. 입력할 때는scanf 함수를, 출력할 때는 printf 함수를 많이 사용합니다. 여기서 라이브러리 함수란, 프로그램을 만들기위해 미리 정의되어있는 함수를 의미합니다. 만약 라이브러리 함수에 미리 정의되어있지 않다면 그 함수를 매번 작성해주어야 할 것입니다. 오늘 배울 입력과 출력에 사용되는 함수를 포함하고 있는 라이브러리 함수는 stdio.h 헤더파일에 포함되어 있습니다. 코딩시 입력했던 #include 가 바로 입출력을 위한 표준 라이브러리 함수를 불러오는 명령입니다. 여기서 stdio란 standard input/..
-
0x02 변수와 자료형Legacy/C 2014. 12. 14. 04:25
지난 시간에 배운 상수에 이어서 오늘은 변수에대해 배워보겠습니다. 변수(Variable)는 말 그대로 변할 수 있는 수를 의미합니다. 변하지 않는 일정한 수인 상수와 대비되는 수로서 주로 프로그램에서 처리한 자료나 처리한 결과를 기억하기 위해 사용됩니다. 변수는 기억 공간을 차지하며 그 기억 공간을 확보하는 행위(메모리 할당)를 변수 선언이라고 합니다. 변수를 읽어오는 방법에는 2가지가 있는데 하나는 주기억장치의 주소를 사용해 읽어들이는 방법과 다른 하나는 변수명(식별자)를 이용해 그것을 주소대신 사용해 읽어들이는 방법입니다. 주기억장치의 주소에 관한 내용은 뒤에 배울 포인터에서 설명하겠습니다. 변수명을 짓는데에는 몇가지 규칙이 있습니다.1. 영어 소문자와 대문자, 숫자 그리고 밑줄 문자(_)만 사용해 ..