<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0">
  <title type="html">김 용묵의 절대공간 - 블로그: GUI콘솔-하이브리드-프로그램에 달린 최근 댓글/트랙백 목록</title>
  <id>http://moogi.new21.org/tc/</id>
  <link rel="alternate" type="text/html" hreflang="ko" href="http://moogi.new21.org/tc/" />
  <subtitle type="html">그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.</subtitle>
  <updated>2023-05-01T11:06:03+09:00</updated>
  <generator>Textcube 1.7.8 : Con moto</generator>
  <entry>
    <title type="html">nyam님의 댓글</title>
    <link rel="alternate" type="text/html" href="http://moogi.new21.org/tc/825#comment3859" />
    <author>
      <name>(nyam)</name>
    </author>
    <id>http://moogi.new21.org/tc/825#comment3859</id>
    <published>2013-05-02T09:15:52+09:00</published>
    <summary type="html">저도 GUI 프로그램에 대해 콘솔에서 /? 명령 인자를 줘서 실행했을 때는 콘솔에 지원 명령 인자들에 대한 도움말을 출력하도록 노력해본 경험이 있어서 정말 반가운 포스트입니다.
AttachConsole API를 써보니 기존에 열려(할당되어)있는 콘솔로 출력은 되는데.. 커서 위치가 업데이트가 안 되더군요.. (혹시 해결책을 알게 되시면 저도 좀 가르쳐주세요.. ㅠ.ㅠ)
게다가 Windows XP 이후부터 추가된 API라는 점도 좀.. 그렇긴 하더라구요..

요새 64-bit Windows를 사용하다보니 예전의 커맨드라인 유틸리티들 중 상당수가 MS-DOS 실행파일이라 실행조차 되지 않는 불상사가.. OTL
그냥 cygwin 깔아놓고 PATH 연결해서 사용하는게 나은 것 같기도 합니다..;;

항상 전문적인 지식을 공유해주셔서 감사드립니다..</summary>
  </entry>
  <entry>
    <title type="html">사무엘님의 댓글</title>
    <link rel="alternate" type="text/html" href="http://moogi.new21.org/tc/825#comment3861" />
    <author>
      <name>(사무엘)</name>
    </author>
    <id>http://moogi.new21.org/tc/825#comment3861</id>
    <published>2013-05-02T09:52:16+09:00</published>
    <summary type="html">nyam 님, 반갑습니다. 잘 지내시죠? ^^;;
AttachConsole 함수가 완전하지 않다는 게 그런 문제 때문입니다. MSDN 저널에도 언급돼 있구요.
외국 사이트들을 뒤져 봐도 다른 해결책은 저도 아직까지 못 봤습니다. ㅜ.ㅜ
VS도 2012 버전에 갈 때까지 여전히 com/exe 꼼수를 쓰고 있는 이유도 그것 때문인 것 같습니다.
그에 비하면, XP 이상만 지원한다는 접근성 단점이야 이제는 워낙 시간이 많이 지났으니 그리 큰 단점이 아니게 됐죠.</summary>
  </entry>
  <entry>
    <title type="html">삼각형님의 댓글</title>
    <link rel="alternate" type="text/html" href="http://moogi.new21.org/tc/825#comment3863" />
    <author>
      <name>(삼각형)</name>
    </author>
    <id>http://moogi.new21.org/tc/825#comment3863</id>
    <published>2013-05-04T22:00:38+09:00</published>
    <summary type="html">이제까지 메인으로 Java를 사용하다 대학에서 C를 좀 쓸 일이 있어서 봤는데 (gcc 사용)

의외로 콘솔 버전이라도 windows.h만 include하면 GUI를 쉽게 띄울 수 있더군요. 그래봐야 MessageBox 함수로 예, 아니요 입력 받는 수준으로 사용하지만요. (일반 메시지 출력은 괜찮은데 콘솔에서 y,n 입력을 상당히 불편해 하더군요.)

콘솔 프로그램이기에 실행을 콘솔창에서 시켜서 잘 몰랐지만 이걸 Shell에서 실행시키니 콘솔창을 안쓸때도 콘솔이 떠버리는 문제가 있었네요.

WinMain을 entry point로 잡으려면 gcc에서는 -mwindows 라는 컴파일러 옵션을 주고 하니 WinMain에서 실행되고 콘솔도 안뜹니다.

리눅스 계열에서는 GUI에서 콘솔 컴포넌트가 있는지 window 안에서 콘솔 출력이 폰트까지 아주 예쁘게 출력됬던 것 같은데 말이죠.</summary>
  </entry>
  <entry>
    <title type="html">사무엘님의 댓글</title>
    <link rel="alternate" type="text/html" href="http://moogi.new21.org/tc/825#comment3864" />
    <author>
      <name>(사무엘)</name>
    </author>
    <id>http://moogi.new21.org/tc/825#comment3864</id>
    <published>2013-05-06T10:41:10+09:00</published>
    <summary type="html">네, 말씀하신 대로 콘솔 프로그램이라도 Windows API는 아무 문제 없이 사용할 수 있고 MessageBox 수준이 아니라 아예 message loop도 돌릴 수 있습니다.

필요할 때만 콘솔을 띄우고, 이미 콘솔이 존재한다면 그걸 재활용까지 하는 형태의 프로그램을 만드는 게 Windows에서는 영 잘 안 되는 것 같더군요. (AttachConsole 함수 =_=)

Windows의 경우, 콘솔 글꼴을 자유롭게 지정 못 하고 도스 시절과의 호환성 유지 때문인지 폭이 80칼럼으로 고정돼 있는 게 많이 아쉬운 점입니다. 그래서 기존 콘솔을 대체하는 PowerShell이라는 게 나온 거겠죠?</summary>
  </entry>
</feed>
