2005年8月16日火曜日

Windowsのコンソール入出力

主にWindowsのコマンドプロンプトの操作に使われる
(MS Visual)Cランタイムライブラリに含まれるコンソール入出力関数
http://www.microsoft.com/japan/msdn/library/ja/vclib/html/_crt_console_and_port_i.2f.o.asp
#include <conio.h>
  • _getch()
  • _getche()
  • _kbhit()
  • _ungetch()
  • _putch()
  • など


アンダバーが付かないgetch()などのANSI Cに準拠しない古い関数名でも使える。


MinGWとcygwin-mingwのgccは、MS Cランタイム(msvcrt.dll)にリンクされるので、
MSVCと同じ関数が使える。
DJGPPv2、BCC5.5では、独自のCランタイムライブラリとヘッダファイルが用意されているので、MS Cと同じ関数の他に、DOS系で利用されていた関数が使える。
http://www.borland.co.jp/cppbuilder/freecompiler/faq/bccfaq3.html

cygwin版gccは、cygwin?.dllにリンクされるが、Cランタイムのコンソール操作関数は
含まれていないのでcygwinからリンクする場合、-mno-cygwinを付けないと利用出来ない。

MSVCのコンソール入出力には、色を変えたりカーソルを移動する操作は用意されていないので、必要な場合はWindowsAPIに用意されているコンソール入出力関数(wincon.h)で行なう。
http://www.microsoft.com/japan/msdn/library/ja/jpfileio/html/_win32_setconsolecursorposition.asp


コンソール関数
conio.h ― Cランタイムライブラリ ヘッダ
wincon.h ― WindowsAPI, プラットフォームライブラリ ヘッダ

シリアル(COM Port)操作関数
conio.h ― Cランタイムライブラリ ヘッダ
winbase.h ― WindowsAPI, プラットフォームライブラリ ヘッダ


(MS Visual)Cランタイムライブラリ
msvcrt.lib libc.lib ― スタティックライブラリ
msvcrtd.lib libcd.lib ― msvcrt.dll用インポートライブラリ
msvcrt{,20,40}.dll, msvcr{70,71}.dll ― ダイナミックライブラリ

(Windows)プラットフォーム(SDK)ライブラリ
kernel32.lib ― kernel32.dll用インポートライブラリ
kernel32.dll ― ランタイムDLLファイル

Borand Cランタイムライブラリ
cw32.lib ― スタティクライブラリ
cw32i.lib ― Importライブラリ
cc3250.dll ― ランタイムDLL

DJGPP Cランタイムライブラリ
libc.a ― スタティクライブラリ

MinGW Cランタイムライブラリ
libmsvcrt.a

0 件のコメント :