언어/기타
2006.09.16 18:51

왜 C언어를 해야하나요? -1

조회 수 1426 추천 수 5 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요 ^^ 어제 막 가입한 웁피라고 합니다~


강좌라고 하긴 좀 뭐하고 그냥 제가 아는 정보를 공유 한다는 차원에서


한 글자 적어봅니다 >_<


허접하더라도 이해해주세요~


혹시라도 제가 잘못알고 있거나 틀린 내용은 언제든지 말해주세요 ^^


 


________________________________________________________________________________________


 


게임프로그래밍을 하는데 왜 C언어를 해야하나요?


 


라는 질문


 


혹은 게임을 만들고 싶은데 무엇을 공부해야 하나요?


 


라는 질문들


 


제가 어렸을 시절, 참 많이 생각하고 고민해왔던 것들입니다.


 


도무지 어떻게 해야 게임을 만들 수 있는건지 알 수 있는 방법이 없었죠


(그때는 인터넷이 그렇게 잘 보급 되지도 않았었죠.. ㅋ)


 


C언어 학원을 다녀 C언어를 조금 하게 되고


 


C++학원을 다녀 C++을 조금 하게 된 이후에도


 


전혀 이것으로 게임을 만들 수 있다는 생각은 들지가 안더군요


 


C언어를 처음 접해보는 분들은 윈도우 화면에


 


무엇인가를 그리는것이 아니라 검은 도스화면 같은 곳에 숫자나 문자등을


 


출력 밖에는 할 수 없다는 걸 보고


 


뭔가 허무하실 겁니다. 저도 옛날 어렸을때 다닌 컴퓨터 학원에서도


 


학원 선생님은 그냥 나중에 커서 C언어 공부하면 할 수 있다고만


 


말해주시더군요(지금 생각해보니 참 성의가 없으셨어 -_-)


 


자 서론이 좀 길었네요 ^^ 그럼 진짜 본론으로 넘어가서


 


C언어가 무엇인지를 제가 아는대로 간단히 말해보겠습니다.


 


가장 먼저 컴퓨터는 0과 1만을 알고 있다라는 사실을 알아야 합니다


(혹시 이 컴퓨터가 0과 1만으로 어떻게 돌아가는 가 하는가에 대해서도


궁금하시다면 차후 다른 강좌로 말씀드리겠습니다~)


 


그래서 기계어는 0과 1의 조합으로만 만들어져 있죠


 


가령 어느 공간에 어느 데이터를 넣어주세요 라는 명령어라면


 


011101010101010101010101010101001111010101과 같은 식의


 


명령어인데 우리는 알아보기가 힘들 것 입니다.


(물론 저게 화면에 뿌려주는 명령어는 아닙니다. 허허허)


 


이것을 우리가 알아보기가 힘들기에 누군가가 어셈블리어를 개발합니다


 


그래서 그 어셈블리어는


 


LOAD 100


STOR 200


과 같은 식의 명령어로 구성되어 집니다.


 


확실히 아까전의 숫자들의 나열보다는 우리가 알아보기가 쉽겠죠?(아닌가? -_-)


 


하지만 이 어셈블리어 역시 상당히 어렵고 하나의 연산을 처리하기에


 


너무 긴 연산들을 반복해야 하므로


 


다시 이 어셈블리어들을 묶어 C언어가 만들어지게 됩니다~(짜잔~)


(사실은 그 사이 조금 더 과정이 있을지도 모릅니다 =_= 잘 몰라서 죄송;;)


 


즉 C언어는 상당히 기계어와 가까운 언어입니다.


 


기계어와 가깝다는 이야기는 그만큼 빠르다는 이야기입니다.(해석과정을 더 적게 밟으니까요)


 


C언어의 장점은 이외에도 무수히 많지만


 


일단 게임프로그래밍과의 관계를 말하는게 목적이니 생략하도록 하겠습니다~


 


여러분도 아시다시피 게임은 상당히 고사양의 프로그램입니다.


 


사실 게임이 아닌 어떤 프로그램을 실행하기 위해 PC를 업그레이드 할 필요가 없다는 걸


 


생각해보시면 간단하게 이해가 가실겁니다.


 


C언어 이외에도 언어는 상당히 많습니다.


 


사실 JAVA로도 얼마든지 게임을 만들 수 있고요.


 


그러나 C언어를 많이 사용 하는 이유는(사실 요즘은 C++을 더 많이 사용합니다..;;)


 


같은 로직으로 게임을 만들었을떄 C언어가 훨씬 빠르기 때문입니다.


(수차 말하지만 기계어로의 해독이 다른 언어에 비해 훨씬 적기때문입니다.)


 


이것으로 왜 C언어를 게임프로그래밍에 사용하는지에 대해


 


간략히(?) 알아봤습니다. ^^


 


처음 해보는거라 많이 허접하고 내용도 빈약하고


 


일관성없이 이리저리 돌아다는것만 같네요 ㅜㅜ


 


다음 2부에서는 C언어를 통해 어떻게 게임을 만들어가는지


 


정확히 게임 프로그래밍을 위해서 어떤것을 공부해야하는지


 


그런것들을 이야기해보겠습니다~


 


길고 허접한 글 읽느라 수고하셨습니다 (__)

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
704 언어/기타 스타 맵을 만들어 볼까? -기초 2- file 다크세이버™ 2006.09.24 394
703 언어/기타 [연재] 2강. 스크립트의 종류를 알아보자! 만삐 2006.09.24 641
702 언어/기타 확인 dnajs 2006.09.24 423
701 언어/기타 스타 맵을 만들어 볼까? -기초 1- file 다크세이버™ 2006.09.24 542
700 언어/기타 그냥 심심해서 생각해낸 플레이어 낚기 이벤트인데요... 네모상자 2006.09.24 1194
699 언어/기타 변수를 절약하자!! 1 길모나 2006.09.22 615
698 언어/기타 그래픽 제작 도구들 dnajs 2006.09.21 540
697 언어/기타 원의 방정식 알고리즘 file Spegel 2006.09.17 1271
696 언어/기타 왜 C언어를 해야하나요? -2 웁피 2006.09.17 1487
695 언어/기타 인터넷 프로그래밍 강의 시간에 실습했던 것. 아란 2006.09.17 951
» 언어/기타 왜 C언어를 해야하나요? -1 웁피 2006.09.16 1426
693 언어/기타 자바 기초 로직 ˙ dnajs 2006.09.16 1290
692 언어/기타 VNAP 배경음 예제 dnajs 2006.09.14 395
691 언어/기타 [소스첨부] 인자값 변경. 청연 2006.09.14 317
690 언어/기타 MSN 주소를 알려주세요. MrGeek 2006.09.13 2677
689 언어/기타 게시판 이용 및 라이센스 공지 J.Clifford 2006.09.13 2190
688 언어/기타 ★C언어 처음 하시는분들 보세요.. 청연 2006.09.13 501
687 언어/기타 주석제거 프로그램 (수정) 청연 2006.09.13 597
686 언어/기타 MFC 색상표 file 피군 2006.09.12 1770
685 언어/기타 미디를 하려면.. dnajs 2006.09.11 529
Board Pagination Prev 1 ... 11 12 13 14 15 16 17 18 19 20 ... 51 Next
/ 51






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)