본문 바로가기

2013/08

[C] C언어에서의 포인터 -1강(기초) 안녕하십니까? M1S Secur 입니다. 많은 분들이 C언어를 공부하면서 막히거나 가장 어려워하는곳이 '포인터' 인데요, C언어 전공한지는 꽤 됬지만 기억을 되살려 조금이라도 도움을 드리고자 작성해봅니다. 포인터에서의 변수 일단 기본적인것은 아래를 봐주세요. int num=5;int * ptr;ptr=# 위 코드를 보시면 첫줄에선 정수 5가 저장된 변수 num을 선언했고 두번째줄에선 포인터 변수인 ptr을 선언했습니다. 이해가 빠르신분들은 포인터 변수의 선언인 int * ptr 에서 int * 이 int형 변수의 주소값을 저장하는 포인터 변수의 선언이란것과 ptr이 포인터 변수의 이름이란걸 눈치채셧을겁니다. ( *의 위치는 상관이 없습니다.) 그리고 세번째줄은 num의 주소 값을 변수 ptr에 저.. 더보기
1-C언어란 안녕하세요 M1S Secur입니다 처음으로 강의를 쓰게되는데요 많이 부족한것이 있더라도 잘 봐주시길 바랍니다. 이제부터 C 프로그래밍 강좌를 시작하겠습니다. 일단 C언어를 배우기 전에 C언어가 어떤것인지 알아야겠죠!! C언어란 1971년경 UNIX란 운영체제를 개발하기위해서 Ken Thompson 과 Dennis Ritchie 함께 개발한 언어입니다 여기서 왜 ?! C언어를 배워야하나! 일단 말씀드리자면 저희는 컴퓨터언어인 기계어 즉 101010001이런 기계어를 읽지 못합니다(하지만 읽는 사람도 있다죠!ㅋㅋ)그리고 컴퓨터는 저희의 언어인(한국의 관점에서) 한글을 모릅니다. 우리가 컴퓨터보고 한글로 이거해 저거해 해봤자 컴퓨터는 어떤 명령을 내리는지 모른다는 것이죠 즉 C언어의 역활은저희가 다른나라에가면.. 더보기
리눅스 커널빌드 안녕하세요 M1S Secur 입니다. 이번에는 리눅스 커널빌드법에 대해 강좌할려고합니다. 우선 리눅스 커널이란것은 http://ko.wikipedia.org/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%BB%A4%EB%84%90 wiki백과에서 참조 부탁드립니다. 우선 리눅스 커널빌드를 하기위해 커널빌드할 환경이 필요한데 우분투 12.04기준으로는 $ sudo apt-get install ncurses-dev 이거 한줄이면 커널 빌드할 환경은 끝났습니다. 이제 커널을 빌드하기위한 소스가 필요한데 소스는 www.kernel.org에 받아서 압축을 ~/여기에 풀어주세요. 그러면 소스 준비 완료입니다. 우리가 소스를 이용하여 빌드를 할때 리눅스 커널소스에서 미리 빌드된부분이 섞여서 오류날.. 더보기