디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[💬] < 개발환경 생태계와 C >

ㅇㅇ(27.119) 2022.01.05 02:04:53
조회 219 추천 6 댓글 0
														

거의 모든 운영체제는 C로 작성됨


C는 메모리 연산이 편리하고 성능도 괜찮아서 연구용이 아닌 상용 운영체제는 거의 100% C로

작성된다. 물론 부가적인 기능들은 C++ 로도 작성되지만 코어는 모두 C라고

생각해도 무방하다. 예전 Mac OS는 PASCAL로 작성되기도 했는데(지금은 C로 재작성됨)

PASCAL도 문법만 조금 다를뿐 거의 C와 같다고 보면된다.


FFI (foreign function interface)


FFI 는 어떤 언어 A 에서 다른 언어 B를 호출할수 있게 언어에서 제공하는 인터페이스인데

현실적으로 대부분 B가 C언어를 기본으로 하고 이것은 언어 생존에 필수 적인것이다.


새로운 언어가 만들어지면 우선적으로 가장 먼저작업되는 것이 C코드를 호출할수 있도록

언어에서 지원하는 작업이다. 이유는 프로그램이란 입력을 받아 계산하고 출력을 하는 것이고

(게임도 유저의 키보드나 마우스 입력을 받아 비디오메모리로 출력하는것)

이러한 입출력이 모두 운영체제가 제공하는 함수를 통해 이루어져야 하는데

이들 함수가 모두 C로 작성되었기 때문에 싫던 좋던 새로운 언어는 무조건 C 코드로 작성된 모듈을

호출할수 있어야 한다.


제품의 경쟁력


제품의 경쟁력은 제품의 품질도 중요하지만 많은 경우 타이밍이 매우 중요하다. 우선 시장에 먼저 빨리

내놓아 선점하는 것이 중요하기 때문이다. 가령 윈도우에서 게임개발에 엄청나게 효과적인 기능을 추가했다고

가정하자. C를 모르는 개발자들은 이기능을 사용하기 위해 유니티같은 엔진이 이기능을 지원하기를 기다려야한다.

만약 내가 C언어를 이해하고 있다면 (C로 복잡한 로직을 빠르게 개발할수 있는 역량 까지는 필요없다)

이기능(함수)을 자바나 C#에서 직접 호출할수 있고 남들보다 빠르게 제품을 출시 할수 있다.


또 다른 예로 일본에서 어마어마하게 돈을 투자해서 새로운 차세대 게임기를 개발했고 개발자에게 엄청한 혜택을

주면서 개발을 장려하는데 유니티가 아직 이 게임기를 지원을 못하고 있다고 가정하자. 이런경우 C를 이해하는

개발자는 직접 유니티 빌드환경을 구축해서 제품출시를 할수 있다.

아이폰 초기에 많은 게임들이 SDL + C/C++ 로 작성되었고 초기 시장 공략으로 돈을 많이 번것은 누구나 아는 사실이다.


유니티로 게임 개발을 할건데 C 를 알아야 하는가?


아니다. 그런데 알면 좋다. 알면 위에서 언급한것처럼 개발폭이 넓어 진다. 마치 돈을 벌기 위해 영어가 필수는 아니지만

영어를 할줄 알면 활동 폭이 넓어 진다. 그리고 기술 습득에 유리하다. 이상적으로는 C# 같은 고급언어를 사용하면

로우 레벨을 잘몰라도 될거 같지만 그것은 이상적인 것이고 모든 환경이 항상 이상적인 상태로 유지되는것은 아니다.

기술서적만 봐도 그렇다. 항상 내 수준에 적합한 기술서적이 출판되는가? 그리고 번역본을 보면 되는데 왜 우리는 원서를 읽기 위해

영어를 공부하나? 그 이유는 필요한 서적이 항상 번역되서 출판되지 않기 때문이다.

비슷하게 로우 레벨을 어느정도 이해하면 새로운 기술습득이나 개발 리소스를 활용하기에 유리하다. 개발자는 아는 만큼만 시도할수있다.


미안하다. 술먹고 자기전에 지랄한번 해봤다. 사실 C 공부할 필요 없다.



2cf3da36e2f206a26d81f6e24089746d





자동등록방지

추천 비추천

6

고정닉 2

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기
자동등록방지

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2861 설문 어떤 상황이 닥쳐도 지갑 절대 안 열 것 같은 스타는? 운영자 24/05/20 - -
85556 💬 수능끝난 고3 개발자 유니티 질문 드립니다! [27] ㅇㅇ(118.216) 22.01.25 224 0
85555 💬 비주얼 스튜디오 한글 오류 ㅠㅡㅠ 고수님들 제발 도와주세요,,,ㅠ [4] 연영갤로그로 이동합니다. 22.01.25 157 1
85554 💬 게이들아 나 진짜 평생소원 하나 있음 [9] ㅇㅇ(39.123) 22.01.25 234 1
85553 💬 이력서 쓰기 진짜 귀찮다 [4] ㅇㅇ(125.242) 22.01.25 124 0
85552 💬 학원을 다녀야할까요.. [7] 솔랭이갤로그로 이동합니다. 22.01.25 654 0
85549 🐣질문 하위 클래스들에 있는 상속함수 반복문으로 돌리기 [8] ㅇㅇ(110.11) 22.01.25 131 0
85548 🐣질문 나 시발 인생 좆된거같은데 [11] ㅇㅇ(110.15) 22.01.25 461 0
85546 🐣질문 유니티 프로젝트 실행 오류 해결좀 도와주라 [5] ㅇㅇ(39.123) 22.01.25 3663 0
85544 💬 opengl 공부할넘 잇냐 ㅇㅇ(37.30) 22.01.25 146 0
85543 💬 게임업계 신입연봉 5천이상 준다는 기사를 봤는데 [4] ㅇㅇ(118.235) 22.01.25 274 0
85542 🐣질문 서버개발할려는데 뭐부터 해야할지 감이 안잡힙니다. [1] 누가좀살려줘갤로그로 이동합니다. 22.01.25 147 0
85541 💬 여기 파딱들은 다 고돗엔진을 쓰는거 같든데 [10] ㅇㅇ(180.224) 22.01.25 339 0
85539 💬 건앤런 1인 게임 제작 질문 [8] ㅇㅇㅇㅇㅇ(124.213) 22.01.25 240 0
85538 💬 내가 욕심많아서 내가 9 팀원들 1로 수익분배하기로 함 [6] ㅇㅇ(202.214) 22.01.25 388 0
85536 🐣질문 유니티 setactive질문.. [2] ㅇㅇ(121.141) 22.01.25 109 0
85534 💬 비전공자인데, 코딩 부트 캠프에서 실력을 쌓고 오고 싶습니다. [1] ㅇㅇ(14.44) 22.01.25 347 0
85532 💬 유린이들 제발 디버깅 좀 해라 [5] ㅇㅇ(222.106) 22.01.25 231 0
85531 💬 플레이펩으로 채팅,랭킹,결투,우편함,클라우드저장 기능 몇일정도면 돼? [4] ㅇㅇ(202.214) 22.01.25 276 0
85530 💬 포톤 보이스 쓰는데 ㅇㅇ(59.11) 22.01.25 86 0
85529 💬 메타버스쪽가면 커리어 도움안됨? [4] ㅇㅇ(118.235) 22.01.25 238 0
85528 💬 코드몽키가 여러분의 도움을 필요로 합니다. 여기 제가 짠 코드입니다 [6] ㅆㅇㅆ(110.12) 22.01.25 300 0
85527 💬 제네릭은 무적이다. [3] ㅇㅇ(106.101) 22.01.25 201 0
85526 💬 유니티 istrigger쓰면서 충돌판정 있게는 못함? [3] ㅇㅇ(211.186) 22.01.25 264 0
85525 🐣질문 trigger가 충돌중일때만 실행하려고 하는데 [3] ㅇㅇ(114.202) 22.01.25 126 0
85522 💬 취미로 진짜 간단한 게임부터 만들어보고 싶은데 어떻게함? [4] ㅇㅇ(39.117) 22.01.25 256 0
85521 💬 신입 스타트업 어때 [7] ㅇㅇ(104.28) 22.01.25 355 0
85519 🐣질문 유니티 2d 탑다운이랑 플랫포머중 뭐가 더 만들기 간단함? [4] ㅇㅇ(211.186) 22.01.25 294 0
85515 💬 신입면접에서 연봉 물어봐도됨? [10] ㅇㅇ(182.220) 22.01.25 333 0
85514 💬 통통배님의 헬스장 키우기 완죤 기대중인데 어떻게 되가고있지. [6] ㅇㅇ(202.214) 22.01.25 224 0
85513 💬 유니티로 취업 포폴 만드는경우에 세이브로드 구현이 필수일까? [10] ㅇㅇ(125.143) 22.01.25 316 0
85512 💬 유니티 점프 구현 질문좀 [8] ㅇㅇ(125.191) 22.01.25 238 0
85511 📚정보 대규모 길찾기 및 길찾기 알고리즘 종류 [1] 거붓갤로그로 이동합니다. 22.01.25 313 2
85510 💬 내 게임에 1점 테러한년 초딩유튜버였네 [18] ㅇㅇ(222.99) 22.01.25 2045 31
85509 💬 프갤 식민지 순회중 [3] ㅇㅇ(138.199) 22.01.25 129 0
85508 💬 자바스크립트같이 존나 쉬운 언어 또 뭐있음? [4] ㅇㅇ(180.224) 22.01.25 243 0
85507 💬 C++ 고집하는 사람들보면 [1] ㅇㅇ(118.235) 22.01.25 232 0
85506 💬 c++ 마소가 먹어야된다 utf8 겨우 바꼈네 ㅇㅇ(121.161) 22.01.25 137 0
85504 💬 남의 코드 갖다 쓰는거에 거부감 갖지마라 [3] ㅇㅇ(118.235) 22.01.25 201 0
85503 💬 지금 java 배우고있는데 [4] ㅇㅇ(123.142) 22.01.25 113 0
85502 💬 c# 재밌네 [8] ㅇㅇ(121.168) 22.01.25 293 0
85501 💬 언리얼안써봐서그러는데 언리얼마켓플레이스에서 [4] 파쿠팬(183.91) 22.01.25 122 0
85500 🐣질문 craftpix에서 구매한 에셋 수정해서 써도 되나요? [2] ㅇㅇ(14.50) 22.01.25 121 0
85499 🐣질문 boxcollider2d.istouchinglayers() [1] ㅇㅇ(114.202) 22.01.25 57 0
85498 💬 내 코드 남 코드가 어디 있겠음? [3] ㅇㅇ갤로그로 이동합니다. 22.01.25 162 1
85496 💬 아 나 지금 코딩하다 막혔는데 abstract class 쓸려고하는데 [7] ㅆㅇㅆ(110.12) 22.01.25 160 0
85495 💬 opengl, vulkan 둘이 뭔차이임 [6] solish갤로그로 이동합니다. 22.01.25 262 0
85493 💬 다 때려치고 싶다!!! [7] ㅇㅇ(122.40) 22.01.25 169 0
85492 🐣질문 유니티로 무기변경같은거 어떻게 구현해? [3] ㅇㅇ(223.62) 22.01.25 162 0
85488 💬 유니티 쌩초본데 튜토리얼 이거보는거맞냐?? [4] ㅇㅇ(118.223) 22.01.25 180 0
85487 💬 애드몹을 어떻게 다는가 검색하는도중에 조코딩인가? 여기 유튜브 봤는데 [1] ㅆㅇㅆ(110.12) 22.01.25 299 2
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2