언어/기타

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

by 웁피 posted Sep 16, 2006
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

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


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


한 글자 적어봅니다 >_<


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


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


 


________________________________________________________________________________________


 


게임프로그래밍을 하는데 왜 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언어를 통해 어떻게 게임을 만들어가는지


 


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


 


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


 


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


Articles

6 7 8 9 10 11 12 13 14 15