본문 바로가기
운영체제/[ecourse] Windows Programming

1-1-2. 어셈블리 빌드 방법

by 헛둘이 2022. 9. 1.

 

본 글은 코드누리의 Windows Programming 강좌를 개인 학습 목적으로 정리한 글 입니다.

https://www.ecourse.co.kr/

 

ecourse 온라인 강의 – S/W 교육의 새로운 시도

개강 예정 과정입니다. {"title":"\uac1c\uac15 \uc608\uc815 \uacfc\uc815\uc785\ub2c8\ub2e4.","show_title":"1","post_type":"course","taxonomy":"course-cat","term":"COMMINGSOON","post_ids":"","course_style":"popular","featured_style":"course","masonry

www.ecourse.co.kr

 

목차

  1. 커맨드 라인에서 빌드하기
  2. 사용자 지정 빌드 명령 추가하기
  3. 추가 종속성 사용하기

 

C언어 예제 소스
asm_main 어셈블리 예제 소스

 

1.      커맨드라인에서 빌드하기

 

- 도구 -> Visual Studio 명령 프롬프트

- 여기서 cl 컴파일러를 임의적으로 사용할 수 있다.

 

1-1) 개발자 명령 프롬프트 실행

1-2) 프로젝트 파일이 있는 주소로 이동 (cd [주소])

1-3-1) cl main.c

cl main.c 명령어의 경우 컴파일 후 링킹 과정까지 진행하여서 에러가 발생했다.

1-3-2) cl main.c /c

cl main.c /c 명령어의 경우 뒤에 붙은 옵션 /c가 컴파일까지만 해달라는 명령어라서 에러가 발생하지 않았다.

1-4-1) ml asm1.asm

ml asm1.asm의 경우에도 3-1과 마찬가지로 링킹 과정까지 실행하려다 보니 진입점이 없어서 에러가 발생했다.

1-4-2) ml asm1.asm /c

ml asm1.asm /c 명령어를 통해 컴파일까지만 진행했다.

 

1-5) link main.obj asm1.obj

link 명령어를 통해 두 obj 파일을 링킹하여 exe 파일을 만들었다.

 

1-6) main.exe

main.exe 파일을 실행하여 정상 작동되는 것을 확인하였다.

 

 

2.      사용자 지정 빌드 명령 추가하기

2-1) Visual Studio 프로젝트에 확장자 .c 파일과 .asm 파일이 존재하는데, 빌드하면 asm 파일을 인식하지 못한다.

2-2) 이를 해결하기 위해 .asm 파일의 속성에서 설정을 바꿔줘야 한다.

.asm 파일 오른쪽 클릭 -> 속성

2-3) 사용자 지정 빌드 도구에서 명령줄과 출력 란에 아까 1번에서 실습했던 내용을 입력한다.

- 바로 빌드할 수 있어서 편리하지만 asm 파일이 많을 경우 알알하 설정해줘야 해서 번거롭다.

 

3.       빌드 종속성 사용하기

3-1) 위에서 언급했던 방식들의 단점들을 해결할 수 있는 방법이다.

3-2) 프로젝트 우클릭 -> 빌드 종속성 -> 사용자 지정 빌드 클릭

3-3) masm을 체크하고 확인 버튼 클릭.

3-4) 2-2의 속성 창에서 Microsoft macro assembler가 생긴 것을 확인할 수 있다.

다음부터 asm 파일이 추가될 경우 자동으로 위와 같이 설정되므로 편리하다

 

'운영체제 > [ecourse] Windows Programming' 카테고리의 다른 글

1-5. C++과 MASM  (0) 2022.09.05
1-4. Stack Frame  (0) 2022.09.04
1-3. Calling Convention  (0) 2022.09.03
1-2. MASM 기본 문법  (0) 2022.09.01
1-1-1. 인라인 어셈블리와 MASM  (0) 2022.09.01

댓글