본문 바로가기
개발/C#

C# - 명령 프롬프트(CMD)로 컴파일 해보기(1)

by E-nan 2020. 6. 14.
728x90
반응형

 

안녕하세요. 2nan 입니다.

 

 

먼저 예제 코드를 메모장으로 작성해서 Program.cs 파일로 저장합니다.

 

//원하는 폴더에 Program.cs 파일명으로 저장
using System;

namespace ConsoleApp1
{
    class Program
    {
    	static void Main(strings[] args)
        {
            //문자열 출력
            Console.WriteLine("Hello World!");
        }
    }
}

 

위 코드는 단순하게 "Hello World!"라는 문자열을 출력하는 프로그램입니다.

Console.WirteLine <== 이녀석이 출력하는 역할을 하는것이죠.

 

위의 소스코드는 사람이 이해할 수 있는 형식을 갖추고 있지만

기계 즉, 컴퓨터는 이해를 할 수 없기 때문에 이런 문자들을 컴퓨터가 이해할 수 있는

기계어로 바꾸는 '컴파일'이라는 작업을 해야 합니다.

 

그렇다면 컴파일을 어떻게 할 수 있을까요?

 

컴파일을 해주는 프로그램을 '컴파일러'라고 합니다.

닷넷 프레임워크나 코어를 설치하면 기본적으로 C# 문법을 따르는 소스코드를

컴파일할 수 있는 C# 컴파일러 프로그램이 함께 설치됩니다.

 

Visual Studio같은 프로그램을 이용해 컴파일을 할 수 있지만,

오늘은 명령 프롬프트(CMD)를 통해서 컴파일을 해보겠습니다.

 

닷넷 프레임워크나 코어를 설치하면 컴파일러 프로그램이 설치된다고 했었죠??

설치된 컴파일러의 위치는 이렇습니다.

 

<32비트 운영체제의 csc.exe 위치>

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe

 

<64비트 운영체제의 csc.exe 위치>

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe

 

 

소스코드도 작성했고, 컴파일러의 위치도 알았으니 컴파일을 해볼 차례입니다.

명령 프롬프트를 실행시키고 CD(Change Directory)명령어를 사용하여

작업 디렉토리를 소스코드를 저장한 경로로 이동합니다.

 

C드라이브에 temp라는 폴더에 소스코드를 작성했다고 가정하고 설명을 드리겠습니다.

C:\Windows\Microsoft.NET\Framwork64\v4.0.30319\csc.exe Program.cs

이렇게 입력하면 다음과 같이 컴파일이 됩니다.

 

c:\temp>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe Program.cs

Microsoft (R) Visual C# Compiler version 4.8.3752.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language
versions up to C# 5, which is no longer the latest version. For compilers that support newer
versions of the C# programming language, see http://go.microsoft.com/fwlink/?LinkID=533240

 

이상태로 프롬프트창에 dir을 입력하거나, 소스코드가 저장되어있던 폴더로 이동해보면

다음과 같이 Program.exe가 생긴것을 확인할 수 있습니다.

 

C:\temp>dir

 Volume in drive C has no label.
 Volume Serial Number is XXXX-XXXX

Directory of C:\temp

2020-06-14  오전 10:41    <DIR>          .
2020-06-14  오전 10:41    <DIR>          ..
2020-06-14  오전 10:54               174 Program.cs
2020-06-14  오전 10:55             3,584 Program.exe

 

이제 컴파일이 되어서 exe 실행파일이 생겼으니, 실행을 해볼까요??

 

C:\temp>program.exe

Hello World

 

성공적으로 실행이 되어서 "Hello World!"라고 출력이 되는군요.

만약, 정상적으로 실행이 되지 않고 오류가 발생한다면

프로그램에 오타가 있거나, C# 컴파일러가 허용하지 않는 문법을 사용했기 때문에

오류가 생긴것이므로 그에 해당하는 오류 메시지를 출력합니다.

 

컴파일러는 오류 메시지와 함께 소스코드의 어느 부분이 잘못됐는지를

나타내는 행, 열 정보를 출력합니다.

 

따라서 어느 부분이 잘못되었는지 쉽게 찾아갈 수 있고,

오류 메시지가 영어로 작성되어있지만 크게 어렵지 않은 단어들이므로

왜 오류가 발생했는지 쉽게 이해할 수 있을겁니다.

 

다음 포스팅에서는 명령 프롬프트를 이용해 프로젝트 파일을 생성하고,

빌드, 실행을 해보겠습니다.

2020/06/14 - [개발/C#] - C# - 명령 프롬프트(CMD)로 컴파일 해보기(2)

 

C# - 명령 프롬프트(CMD)로 컴파일 해보기(2)

안녕하세요. 2nan 입니다. 앞의 포스팅에서는 직접 예제코드를 작성해서 컴파일을 해보았습니다. 2020/06/14 - [개발/C#] - C# - 명령 프롬프트(CMD)로 컴파일 해보기(1) C# - 명령 프롬프트(CMD)로 컴파일 ��

2-nan.tistory.com

 

 

공감이나 도움이 되셨다면, 공감버튼을 눌러주세요ㅎㅎ

질문이나 오타, 잘못된 내용 등은 댓글로 남겨주시면 감사하겠습니다 :)

 

728x90
반응형

댓글