묻고 답해요
140만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
디스 어셈블리로 확인한 지역 변수의 관리 문의
안녕하세요. 항상 강의 잘 듣고 있습니다 :) 다름 아니라 데이터 갖고 놀기 섹션의 유의사항 항목에서 다음과 같은 궁금증이 들었습니다. 레지스터는 종류가 엄청 많지 않을텐데, 만약 지역 변수가 100개라면 어떻게 관리가 될까? 이것을 Push와 Pop으로 관리하고 있을까? 해서 디스어셈블리로 확인 해 보았는데.. hp 라는 표현을 통해 식을 처리하고 있는 것을 볼 수 있었습니다. 여기서 궁금한것은 따로 .data 영역이나 .bss 영역처럼 변수를 생성 해 준 것 같지 않은데, 어떻게 hp 를 특정 주소로 인식하여 계산을 처리하는 지 입니다. 또, 스택을 용도에 맞게 사용하고 나면 깨끗이 비워주어야 하는 것으로 이해하고 있는데 코드를 보았을 때에는 hp를 스택에서 제거하지 않는 것 처럼 보입니다... 이것은 어떻게 된 영문일까요.. ㅠㅠ 게임 개발에 대해 배우러 왔다가 어셈블리어를 공부하고 나니 궁금한 점이 막.. 생겨버리네요 ㅠㅠ 항상 감사합니다 :) - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
빌드 환경과 실행 환경이 다를 때 어떤 문제가 생기는 지 궁금합니다.
안녕하세요! 강의 정말 잘 듣고 있습니다 :) 어셈블리어 소스 코드를 빌드한 환경(아키텍쳐/운영체제)과 실행하는 환경이 다른 경우 어떤 문제가 발생할 수 있지...? 를 고민하다보니 다음과 같은 질문이 떠올랐습니다. 1. 리틀엔디안 환경에서 빌드 된 .exe 파일이 빅엔디안 환경에서 실행이 가능할까요?2. PRINT_HEX 와 같은 명령어는 운영체제에 종속적인 것으로 이해하였습니다. 윈도우즈 환경에서 빌드 된 .exe 파일을 다른 환경에서 실행하게 되는 경우 문제가 발생할까요?
-
미해결
초보주의: 어셈블리어로 길이 제한 없는 문자열을 표현할 수 있는 법이 뭐가 있을까요
질문도 대충 했으니까, 그냥 힌트만 대충 주세요. 적당히 알아먹을만큼요. 나머진 제가 고민해볼게요
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
어셈블리어를 어느 정도까지 알아야 할까요?
초반 어셈블리어 강의를 듣고 C++과 어셈블리어를 연계하여 설명하는 강의를 들었는데 어셈블리어에 대한 필요성을 느꼈습니다. . C에서 C++로 C++에서 C#으로 넘어가는 등 프로그래밍을 배울 때 최신 기술들이 아무리 많이 나와도 다 이전 기술들을 기반으로 나왔다는 것이 느껴집니다. . 이전 기술의 이전 기술 그 보다 더 이전 기술인 오리지널이라고 해야하나? 아예 밑바닥 기술을 탄탄히 해야한다고 느끼고 있습니다. . 과거에 회사에 소속되어 개발자 일을 하시다가 최근 프리랜서로 전환하신 분이랑 얘기를 해봤는데, 본인은 과거 카드에 구멍을 뚫어서 프로그래밍 하던 시절이 있었다고 요즘 프로그래밍은 과거에 비해 너무 쉬워지고 유니티 같은 쉬운 툴도 많이 생겨서 기초를 탄탄히 쌓지 않은 개발자들이 많이 양산되고 있다고 하시더군요. 과거에 어렵게 프로그래밍 하시던 시절이 후회 되냐고 물어보니, 그 어렵게 프로그래밍 하던 시절이 있어서 본인 기본기가 탄탄해졌다는 뉘앙스로 말하셨어요. . 그래서 더욱 오리지널 기술인 기반 기술, 밑바닥 기술 같은 것을 탄탄히 해야 하는 것을 느끼고 있습니다. (만약 제가 느끼고 있는 것이 잘못된 것이라고 생각하시면 잘못된 것이라고 말해주세요.) . 근데 어셈블리어 말고 배울게 많죠. 지금 이 강의를 듣고 있는 C++, 게임수학, 다이렉트X, 서버 등 이후 코드 깔끔하게 작성하는 법, 리팩토링 하는 법, 게임 디자인 패턴 등도 공부해야 하는데 현업에서 필요할 때마다 디버깅 해서 또 필요하면 어셈블리까지 까봐야죠. . 강의 들으면서 설명 해주는 것으로 C++을 어셈블리어로 해석하는 것은 되지만, 혼자 스스로 하는 것은 잘 안되더라고요. 추상적으로 이 흐름이겠지라고 예측하는 정도이려나? . 그래서 어셈블리어 공부를 따로 해서 어셈블리어를 탄탄하게 공부하는 것이 좋을까요? 아니면 추상적으로만 알고 있는게 좋을까요? 만약 추상적으로만 알고 있는거면 어느 정도 추상적으로 알고 있는 것이 좋을까요? 또 지금 공부하는 것이 좋을까요? 나중에 공부하는 것이 좋을까요? 나중에 공부하는 것이 좋다면 어느 수준에 올라갔을 때 어셈블리어를 탄탄하게 공부하는 것이 좋을까요?