Written on
·
507
0
안녕하세요!
강의 정말 잘 듣고 있습니다 :)
어셈블리어 소스 코드를 빌드한 환경(아키텍쳐/운영체제)과 실행하는 환경이 다른 경우 어떤 문제가 발생할 수 있지...? 를 고민하다보니 다음과 같은 질문이 떠올랐습니다.
1. 리틀엔디안 환경에서 빌드 된 .exe 파일이 빅엔디안 환경에서 실행이 가능할까요?
2. PRINT_HEX 와 같은 명령어는 운영체제에 종속적인 것으로 이해하였습니다. 윈도우즈 환경에서 빌드 된 .exe 파일을 다른 환경에서 실행하게 되는 경우 문제가 발생할까요?
Answer 1
1
1.
엔디엔 이슈 같은 경우는 프로그래머가 신경쓰면
양쪽을 다 케어하게 만들어줄 수 있으니, 아주 치명적인 문제는 아닙니다.
그리고 사실 게임 기준으로 빅엔디언 머신이 거의 드물기에
이 부분은 아예 마주할 일이 없습니다.
2.
애당초 exe는 윈도우 환경의 실행파일이고,
다른 운영체제라면 다른 확장자인 경우가 많습니다.
실행파일은 실행코드 뿐 아니라 운영체제에 종속적인 여러가지 정보를 같이 담고 있기에
cross-platform으로 실행되지 않습니다.
그리고 기본적으로 C++의 경우 Native하게 빌드되기 때문에
환경이 다르면 아예 실행될 수 없습니다.