검색결과 리스트
Microsoft/C#에 해당되는 글 17건
글
#warning, #error, #line 지시자
그동안 개발하면서 이것들을 직접 쓸 일이 없었습니다.
#define/undef 이나 #if/else, #region/endregion 정도만 썼지요. 다들 그러셨을거라고 추측해 봅니다. :)
각설하고, 살펴보도록 하지요.
public partial class MainWindow : Window
{
public MainWindow() {
#line 1 "..\..\App.xaml"
#warning #1 What is #warning?
#line default
#error What is #error?
InitializeComponent();
}
}
위와 같이 #line, #warning, #error 를 각각 작성하고, 빌드를 해 보았습니다.
output 창을 보니, 아래처럼 오류가 나고, 빌드를 실패하네요.
1>------ Build started: Project: InkExample, Configuration: Debug Any CPU ------
1>e:\Development\App.xaml(1,10,1,30): warning CS1030: #warning: '#1 What is #warning?'
1>E:\Development\BlogPost\InkExample\MainWindow.xaml.cs(26,8,26,23): error CS1029: #error: 'What is #error?'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
이로서 다음과 같은 역할을 한다는 사실을 알게 되었습니다.
#line [line] [filepath]
에러나 경고 발생시, output 에 나타날 파일의 line 정보를 설정합니다.
그리고 #line default 는 다시 본래 자동값으로 되돌려 놓는 역할을 하네요.
#warning
컴파일 시점에 강제로 warning 을 표시하도록 합니다.
#error
컴파일 시점에 강제로 error 를 발생시킵니다.
당연히 빌드는 실패됩니다. 정말 error 가 난것 처럼요. :)
그렇다면, 이 두가지를 어느 경우에 사용하면 좋을지 생각해 보았습니다.
지금 제 머릿속에 떠오르는 것은 #define 과 함께 쓰면 좋을듯 합니다.
아래처럼 말이죠. :)
#if !WINDOWS_XP && !WINDOWS_7
#error Please check the os.
#endif
'Microsoft > C#' 카테고리의 다른 글
BlockingQueue (0) | 2014.05.19 |
---|---|
C#,JScript, VisualBasic 을 스크립트처럼 사용하기 (0) | 2014.05.19 |
인증서(certification) 만들기 (1) | 2014.04.09 |
윈도우즈 방화벽 규칙 추가/설정/삭제하기 (3) | 2014.03.27 |
키보드 마우스 글로벌 후킹 (1) | 2012.06.15 |
RECENT COMMENT