Section 1.4: Mono 를 사용하여 새로운 프로그램 생성하기

우선적으로 Mono 를 설치하여야 한다. 해당 프로젝트의 설치 페이지 에 기술되어 있는 플랫폼별 설명을 참고하여 설치를 수행한다.

Mono 는 Mac OS X 용과 Windows 용, 그리고 Linux 용이 존재한다.

설치가 완료되고 나면, HelloWorld.cs 라는 이름의 텍스트 파일을 생성하여 아래 내용을 복사해 넣는다:

public class Program { public static void Main() { System.Console.WriteLine("Hello, world!"); System.Console.WriteLine("Press any key to exit.."); System.Console.Read(); } }

Windows 를 사용중이라면, Mono 설치시에 자동으로 같이 설치되며 필요한 환경변수 설정을 처리해주는 Mono Command Prompt 를 실행하도록 한다. 만약 Mac 이나 Linux 를 사용중이라면, 새로운 터미널을 실행한다.

새로이 생성된 파일을 컴파일하려면, HelloWorld.cs 파일이 위치하고 있는 디렉토리에서 아래 명령어를 실행한다:

mcs -out:HelloWorld.exe HelloWorld.cs

위 명령어를 통해 생성된 HelloWorld.exe 파일은 아래와 같이 실행할 수 있다:

mono HelloWorld.exe

해당 프로그램은 아래와 같은 결과를 출력해 줄 것이다:

Hello, world! Press any key to exit..
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

Section 1.3: .NET Core 를 이용하여 새로운 프로그램 생성하기

우선적으로, 아래의 선택지 중에서 원하는 플랫폼에 알맞은 설치 순서에 따라 .NET Core SDK 를 설치한다:

설치가 완료되고 나면, 커맨드 프롬프트 혹은 터미널 윈도우를 열어 아래와 같이 수행한다.

  1. mkdir hello_world 명령어로 새로운 디렉토리를 생성하고 cd hello_world 명령어를 통해 해당 디렉토리로 현재 위치를 변경한다.
  2. dotnet new console 명령어를 통해 새로운 콘솔 어플리케이션을 생성한다.

이는 아래와 같은 두개의 파일을 생성해 줄 것이다:

  • hello_world.csproj
    <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp1.1</TargetFramework> </PropertyGroup> </Project>
  • Program.cs
    using System; namespace hello_world { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } }
  1. dotnet restore 명령어를 통해 필요한 패키지들을 복원 (restore) 한다.
  2. 선택 항목 해당 어플리케이션을 dotnet build 명령어를 통해 Debug 모드로 빌드하거나 dotnet build -c Release 명령어를 통해 Release 모드로 빌드한다. dotnet run 명령어 역시 컴파일러를 작동시킬 것이며, 빌드 에러가 존재하는 경우 해당 에러들을 출력해 줄 것이다.
  3. dotnet run 명령어를 통해 Debug 모드로 애플리케이션을 실행하거나 dotnet run .\bin\Release\netcoreapp1.1\hello_world.dll 명령어를 통해 Release 모드로 애플리케이션을 실행한다.

커맨드 프롬프트상의 출력 결과

CommandPrompt

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

Section 1.2: Visual Studio 에서 새로운 프로젝트 (console application) 를 생성하고 Debug 모드로 실행하기

  1. Visual Studio 를 다운로드 후 설치한다. Visual Studio 는 VisualStudio.com 에서 다운로드 받을 수 있다. 무료이며 모든 전반적인 기능들을 포함하고 추가적으로 확장까지 가능한 Community edition 을 추천한다.
  2. Visual Studio 를 실행한다.
  3. FileNewProject 를 선택한다.
    Project
  4. TemplatesVisual C#Console Application 을 클릭한다.
    Console Application
  5. Console Application 을 선택한 다음, 프로젝트의 이름을 입력하고, 저장할 위치를 선택한 다음 OK 를 누른다. Solution 이름은 현재는 신경쓰지 않는다.
  6. 프로젝트가 생성되었을 것이다. 새로이 생성된 프로젝트는 아래와 같은 형태로 나타날 것이다:
    Created
    (프로젝트 이름을 명명할때는 언제나 다른 프로젝트와 쉽게 구별이 가능한 의미있는 이름을 기술한다. 프로젝트나 클래스 이름 내에 공백 문자는 사용하지 않는 것을 권장한다.)
  7. 코드를 작성한다. 이제 Program.cs 파일을 수정하여 사용자에게 "Hello world!" 를 표시하도록 만들 수 있다.
    using System; namespace ConsoleApplication1 { public class Program { public static void Main(string[] args) { } } }
    아래 두 라인을 Program.cs 안에 있는 public static void Main(string[] args) 개체 안에 추가한다: (아래 내용이 중괄호 안에 들어갈 수 있도록 한다)
    Console.WriteLine("Hello world!"); Console.Read();
    Console.Read() 부분이 왜 필요한지 궁금할 수 있을 것이다. 첫번째 라인은 "Hello world!" 라는 문자열을 콘솔에 출력하고, 두번째 라인은 하나의 문자가 입력되기를 기다린다; 결과적으로, 이는 프로그램을 일시적 멈춤 상태로 만들어 디버깅을 진행하는 동안 출력 결과를 확인할 수 있도록 도와준다. Console.Read(); 부분이 없다면, 프로그램을 실행하는 순간 "Hello world!" 가 콘솔에 출력되고 곧바로 닫혀 버릴 것이다. 코드 윈도우는 이제 아래와 같이 보일 것이다:
    using System; namespace ConsoleApplication1 { public class Program { public static void Main(string[] args) { Console.WriteLine("Hello world!"); Console.Read(); } } }
  8. 프로그램을 디버깅한다. 툴바의 Start 버튼을 클릭하거나 키보드의 F5 키를 눌러 프로그램을 실행한다. 만약 버튼을 찾을 수 없다면, 상단 메뉴에서 DebugStart Debugging 을 선택하여 프로그램을 실행할 수도 있다. 프로그램이 컴파일 된 후, 콘솔 윈도우가 열려 아래와 같은 화면이 나타날 것이다:
  9. 프로그램을 종료한다. 프로그램을 끝내기 위해서는, 키보드의 아무 키나 누르면 된다. 위에서 추가하였던 Console.Read() 가 이를 처리하기 위한 부분이다. 프로그램을 종료하는 다른 방법은 Start 버튼을 눌렀던 메뉴에서 Stop 버튼을 찾아 누르는 것이다.
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

Section 1.1: 새로운 콘솔 어플리케이션 생성하기 (Visual Studio 에서)

  1. Visual Studio 를 실행한다
  2. 툴바에서, File → New Project 를 선택한다
  3. Console Application 프로젝트 종류를 선택한다
  4. Solution Explorer 에서 Program.cs 파일을 연다
  5. Main() 에 아래와 같이 코드를 추가한다:
    public class Program { public static void Main() { // 콘솔에 메시지를 출력한다. System.Console.WriteLine("Hello, World!"); /* 사용자의 키 입력을 기다린다. 이는 프로그래머가 VS 의 Start 버튼을 통해 프로그램을 실행했을 때, 콘솔 윈도우 내용을 미처 확인하기도 전에 프로그램이 종료되어 윈도우가 사라져 버리는 현상을 방지하기 위해 사용되는 일반적인 방법이다. */ System.Console.ReadKey(); } }
  6. 툴바에서, Debug -> Start Debugging 을 클릭하거나 F5 키 혹은 ctrl + F5 (디버거를 사용하지 않고 실행하는 경우) 를 눌러 프로그램을 실행한다.

ideone 에서 Live Demo 확인하기

설명

  • class Program 은 클래스를 선언 (declaration) 하는 부분이다. Program 클래스는 사용자의 프로그램이 사용할 데이터와 메소드에 대한 정의 (definition) 를 포함하고 있다. 클래스들은 일반적으로 복수개의 메소드를 가지게 되며, 메소드는 포함된 클래스의 동작 (behavior) 을 정의하게 된다. 그러나, 예제의 Program 클래스는 Main 이라는 이름의 메소드 하나만을 가지고 있다.
  • static void Main() Main 메소드를 정의하는 부분으로써, 이는 모든 C# 프로그램들에 있어 시작되는 지점 (entry point) 이 된다. Main메소드는 프로그램이 실행이 되었을 때 클래스가 무엇을 해야하는지 나타낸다. 클래스별로 오직 하나의 Main 메소드만이 허용된다.
  • System.Console.WriteLine("Hello, world!"); 메소드는 주어진 데이터 (이 예제에서는, Hello, world!) 를 콘솔 윈도우에 출력하여 표시해준다.
  • System.Console.ReadKey() 는 사용자가 키보드의 키를 누를때까지 기다리는 함수로써, 메시지를 표시하자마자 프로그램이 곧바로 닫혀버리는 상황을 막아준다. 사용자가 어떠한 종류든 키를 누르게 된다면 프로그램은 종료될 것이다. 프로그램은 Main 메소드의 마지막 라인을 실행하고 나면 종료하게 되어 있다.

커맨드라인 사용하기

커맨드라인에서 컴파일을 수행하려면 MSBuild 나 csc.exe (C# 컴파일러) 를 사용할 수 있다. 둘은 모두 Microsoft Build Tools 패키지에 포함되어 있다.

위 예제를 컴파일 하려면, HelloWorld.cs 파일이 위치한 디렉토리에서 아래 명령을 수행한다:

%WINDIR%\\Microsoft.NET\\Framework64\\v4.0.30319\\csc.exe HelloWorld.cs

하나의 어플리케이션 내에서, 두개의 Main 메소드가 존재하는 경우도 있을 수 있다. 이러한 경우에는, 컴파일러에게 어떤 Main 메소드를 실행하여야 할지 아래의 명령어를 입력함으로써 알려줄 수 있다. (하나의 HelloWorld.cs 파일 내 HelloWorld 네임스페이스에 또다른 클래스인 ClassAMain 메소드를 가지고 있는 경우에 대한 예제이다)

%WINDIR%\\Microsoft.NET\\Framework64\\v4.0.30319\\csc.exe HelloWorld.cs /main:HelloWorld.ClassA

위 명령에서 HelloWorld 부분은 네임스페이스를 지칭한다.

주의: 위에서 소개한 경로는 .NET 프레임워크 v4.0 이 일반적으로 위치하고 있는 경로이다. 사용자의 .NET 버전에 따라 적절한 경로로의 수정이 필요할 수 있다. 추가적으로, 32-bit .NET Framework 를 사용중인 경우에는 디렉토리 이름이 framework64 가 아닌 framework 가 되어야 한다. 윈도우 커맨드 프롬프트에서 아래 명령어들을 (첫번째 명령어는 32-bit Framework 을 위한 명령어이다) 입력함으로써 모든 csc.exe 프레임워크 경로를 나열할 수 있다:

dir %WINDIR%\\Microsoft.NET\\Framework\\csc.exe /s/b dir %WINDIR%\\Microsoft.NET\\Framework64\\csc.exe /s/b

여기까지 실행하였다면, 현재 위치한 디렉토리에 HelloWorld.exe 라는 이름의 실행파일이 생성되어 있을 것이다. 커맨드 프롬프트에서 해당 프로그램을 실행시키려면, 실행 파일의 이름과 엔터키를 다음과 같이 입력한다:

HelloWorld.exe

위 명령은 아래와 같은 결과를 출력해 줄 것이다:

Hello, world!

실행 파일을 더블클릭함으로써 새로운 콘솔 윈도우를 띄워 해당 창 안에 표시되는 "Hello, world!" 메시지를 확인하는 것 역시 가능하다.

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts