プロが教える店舗&オフィスのセキュリティ対策術

cでなぜguiアプリが作成出来るのか。

現在cについて学習中です。
テキストエディタで書きターミナルで実行しています。
cではアプリが作れるようになるといいますが
現在のままではcuiのソフトしかできる気がしません。

一般的に言われるアプリケーションというものを
作成するにはまた別の手段が必要なのでしょうか。

A 回答 (3件)

Cの標準規格ANSIだけでは無理です。


だから別途ライブラリを利用します。
有名どころだとWindowsだとWin32API(ただしWindowを作るだけと言うよりWindows全体をカバー)やそのラッパーになるMFC。
UNIXの世界だとGTK+やQTなど


ただし厳密にはその別途利用されているライブラリもCで書かれている場合があります。
また、Windowアプリの場合、そのWindowsそのものを各ライブラリを利用してCを利用して書くこともできますが
リソースとして用意しておく場合もあります。


それとGUIアプリってCよりC++の方が向いている気がするよ。勉強するならC++やった方がいいと思う。
    • good
    • 0
この回答へのお礼

参考になりました。
お時間を回答に割いていただきありがとうございます。

お礼日時:2010/04/30 11:09

C言語の標準関数では出来ませんね。


Windowsであれば、WindowsAPIと言う関数群を使ってウィンドウを作成したり、ウィンドウをコントールする事が出来ます。
昔のMS-DOS時代であれば、直接VRAM(画像メモリ)をポインタで操作出来ましたので、VRAMに直接書いていました。

WindowsAPIについて紹介しておきます。
「Win32 API入門」Win32は、WindowsAPIの32bit版と言う意味です。
http://wisdom.sakura.ne.jp/system/winapi/index.h …
C言語の知識としては、ポインタから構造体まで使いますので初心者にはムチャクチャ難しいです。CUIが自在に組める人でも挫折者がいますからね。

そうそう、CUIでもこのぐらいは出来るよと言う例も書いときますね。
http://hp.vector.co.jp/authors/VA016117/cprog/in …
参考にしてください。
    • good
    • 7
この回答へのお礼

リンク先まで掲示していただきありがとうございます。
参考になりました!
お時間を回答に割いていただきありがとうございます。

お礼日時:2010/04/30 11:13

規格厳密合致プログラムは無理ですが、外部コマンドを利用すれば、標準関数だけでGUIを作ることも不可能ではありません。


具体的には、下記のようにです。

#include <stdio.h>

int main(void)
{
 static const char script[] =
  "button .b -text ボタン\n"
  "pack .b\n";
 FILE *fd = fopen("script.tcl", "w");
 fputs(script, fd);
 fclose(fd);
 system("wish script.tcl");
 return 0;
}

ただ、普通はGUIを作るためのライブラリ等を使う必要があります。
当然、そのライブラリ等の知識を得る必要がありますし、ライブラリ等をインストールする必要が出てくる場合もあります。
    • good
    • 3

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!