Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

初心者ですが

137 views
Skip to first unread message

jun

unread,
Jan 31, 2000, 3:00:00 AM1/31/00
to
はじめまして、こんにちは。
近頃、PC操作にも慣れ、人に教えられる程度になり。自作PCも作れる程度になりまし
た。
しかし、コンピューターを使うなら、プログラムが出来るともっと面白くなると思
い、「LSI-C」というコンパイラをインストールして勉強してます。
最近、ワイヤーフレームでもいいので、絵を書きたいと思うようになりましたが、C
言語で
図形を表示するという事について書かれた文献がなかなかありません。
そこで、簡単な質問なんですが、線を引くという関数が分かりません。簡単でいいの
で、
円、三角、四角 を表示するプログラムの書き方を、教えていただけないでしょう
か。
あと、C言語で、GUIを使って「hello C world!」というウィンドウを表示することな
どは、可能でしょうか?
職人の方々、ご返答お待ちしております。


JUN


Dairyo Gokan

unread,
Jan 31, 2000, 3:00:00 AM1/31/00
to
Junn Ohta wrote:
> そういえば、もうすぐBorland C++コンパイラーが開発
> 者向けに無償で提供されるようですね。
> http://www.inprise.co.jp/news/cb5us.html

 これは、コンパイラ本体(cpp.exe)は無償やけど「ランタイムライブラリは
別よん!」とかいう意味なんでしょうかねぇ?

 でも、コンパイルできるけど、リンクできへんかったら意味ないし、なん
だか、プレスリリースだけぢゃようわからんっすね。(T_T)

+---------------------------------------------------------------------+
| From : Dairyo Gokan ( 後神 大陵 ) |
| Organization : Hitmark Computer Corporation |
| Adrs : 13256 Northup Way Suite 3, Bellevue WA 98005 |
| TEL:425-649-8808 FAX:425-649-9001 mailto:na...@can.bekkoame.ne.jp |
+---------------------------------------------------------------------+

Yasushi Kondo

unread,
Feb 1, 2000, 3:00:00 AM2/1/00
to
近藤です。

jun wrote in message <87426h$o3q$1...@news01bb.so-net.ne.jp>...


>最近、ワイヤーフレームでもいいので、絵を書きたいと思うようになりましたが、C
>言語で
>図形を表示するという事について書かれた文献がなかなかありません。
>そこで、簡単な質問なんですが、線を引くという関数が分かりません。簡単でいい

>で、
>円、三角、四角 を表示するプログラムの書き方を、教えていただけないでしょう
>か。

 手っ取り早いのが、中古でPC-9801シリーズの比較的新しいのを買って、G
LIOやグラフィックBIOSを使うとか、まだこの手の文献は、大手書店なら残っ
ていそうですよ。

>あと、C言語で、GUIを使って「hello C world!」というウィンドウを表示すること

>どは、可能でしょうか?


 C言語でって言ってもLSI-Cでは、無理でしょう。
 MS-Windows98をお使いでしたら、VCやTCなどのWindows様
のCコンパイラが必要です。

 手前味噌ですが、
http://web.kyoto-inet.or.jp/people/ysskondo/
を参考にしてください。

fu...@kiss.taihaku.sendai.jp

unread,
Feb 1, 2000, 3:00:00 AM2/1/00
to
藤森です。

わかりやすいサブジェクトを付けましょう。
# Outlookだと「表題」って表示されてるんだっけか?

>> On Mon, 31 Jan 2000 21:02:25 +0900, "jun" <junt...@hotmail.com> said:

jun> しかし、コンピューターを使うなら、プログラムが出来るともっと面白くなると思
jun> い、「LSI-C」というコンパイラをインストールして勉強してます。

面白いですよ。頑張って下さい。

jun> 最近、ワイヤーフレームでもいいので、絵を書きたいと思うようになりましたが、C
jun> 言語で
jun> 図形を表示するという事について書かれた文献がなかなかありません。

C言語自体には、そのような機能はないので描画用のライブラリを使うことにな
ります。OutlookExpressを使っていることから勝手ながらWindows(LSI-Cなので
DOS?)で図形を描きたいものだと推測します。

DOSならLSI-CではVGA BIOSコールやVESA BIOSコール、グラフィックスを直接制
御する、ビデオメモリを直接扱うといった必要があります。GUIから設計しない
といけなくなってしまいますしね。そのためプログラミングを始めたばかりでは
困難かもしれません。
# ゲームですがDoomのソースコードなど参考にできるかもしれません。

Windowsなら私は Cygwin を利用した方が良いと思いますよ。ちゃんとWindows
APIも使えますしWindowsネイティヴな実行ファイルも作れます。
# サイズはちょっと大きいです。確か20MBくらいあったはず。
線(line)、円(circleまたはoval)、三角(polygon)、四角(rectangleまたは
polygon)といった基本的な描画機能はWindowsが提供していますのでWindowsの
APIを使うことになります。ですから
http://www.asia.microsoft.com/japan/developer/library/ から「プラットフォー
ムSDK」(まだまだ情報古く量も少ない)か「Plarform SDK」(英語だが最新のはず
)を辿り、描画に関するGDIの項目で関数を調べることが出来ます。その他にも様々
なWindowsプログラミングに関する知識を得ることが可能です。

jun> あと、C言語で、GUIを使って「hello C world!」というウィンドウを表示することな
jun> どは、可能でしょうか?

手を抜きまくればこんな感じで表示できます。
Cygwinをインストールしてあるとして次のプログラムをtest.shという名前で保
存します。
------->------->------->------->------->------->------->------->------->
#!/bin/sh
cat <<EOF >HelloWorld.c
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow) {
MessageBox((HWND)NULL, "Hello C world!", "Test Application" , MB_OK);
return 0;
}
EOF
gcc -o HelloWorld-cygwin.exe HelloWorld.c
gcc -mno-cygwin -o HelloWorld-native.exe HelloWorld.c
------->------->------->------->------->------->------->------->------->
bashを起動し、test.shを保存したディレクトリへ移動しこのプログラムを次の
ようにして実行します。
./test.sh
するとHelloWorld-cygwin.exeとHelloWorld-native.exeが出来ます。
HelloWorld-cygwin.exeがCygwin環境を必要とするもので
HelloWorld-native.exeがCygwin環境を必要としないものです。
あとは実行してみると良いでしょう。

jun> 職人の方々、ご返答お待ちしております。
確かにプログラマは職人みたいなもんですが…

--
KIS,S! (KIS,S is Software, Solution!) name:藤森 康文
mailto:fu...@kiss.taihaku.sendai.jp http://www.kiss.taihaku.sendai.jp/~fuji/

Junn Ohta

unread,
Feb 1, 2000, 3:00:00 AM2/1/00
to
fj.comp.lang.cの記事<874erd$b64$1...@news.s.kyoto-inet.or.jp>で
yssk...@mbox.kyoto-inet.or.jpさんは書きました。

>  C言語でって言ってもLSI-Cでは、無理でしょう。
>  MS-Windows98をお使いでしたら、VCやTCなどのWindows様
> のCコンパイラが必要です。

そういえば、もうすぐBorland C++コンパイラーが開発
者向けに無償で提供されるようですね。
http://www.inprise.co.jp/news/cb5us.html
--
太田純(Junn Ohta) (株)リコー 販事本S計画C NWS計画室S開G
oh...@src.ricoh.co.jp/JCF0...@nifty.ne.jp

Masamichi Takatsu

unread,
Feb 1, 2000, 3:00:00 AM2/1/00
to
高津@ドーガです。

> > そういえば、もうすぐBorland C++コンパイラーが開発
> > 者向けに無償で提供されるようですね。
> > http://www.inprise.co.jp/news/cb5us.html

>  これは、コンパイラ本体(cpp.exe)は無償やけど「ランタイムライブラリは
> 別よん!」とかいう意味なんでしょうかねぇ?

 Borland C++ の場合、cpp.exe (cpp32.exeかな)はプリプロセッサの名前で、
コンパイラ本体は bcc32.exe です。というのはさておき、

http://www.zdnet.co.jp/pcweek/news/0001/20/00012007.html

によると、『「Borland C++」コンパイラのバージョン5.5および関連するコ
マンドラインツールを,Web上で無償配付する』とのことですから、リンカ
やライブラリは付属すると思います。

 Linux にも移植するみたいですし、コンパイラは無償にしておいてシェア
を伸ばし、有償でビジュアルな RAD 環境で稼ぐというということではないで
しょうか。

 C++ Builder / Delphi で作成したプログラムは、コンパイルだけならコ
マンドラインから行えますので、「プログラムのソースコードを入手して再
コンパイル」という作業が誰にでもできるというのは大きいと思います。

 ちなみに、5.5 というのは(おそらく)C++ Builder 5 のコンパイラエンジン
のバージョンです。C++ Builder は Borland C++ 5.0 の後継で、C++ Builder 4
のコンパイラは 5.4 でしたから。


そういえば、今でも Turbo C / Turbo Pascal の古いやつは無償配布してますね。

http://community.borland.com/

の Museum からダウンロードできます。


PROJECT TEAM DoGA 高津正道 ta...@doga.co.jp
TBD0...@nifty.ne.jp
PROJECT TEAM DoGAのホームページ → http://www.doga.co.jp/ptdoga/
2月1日(火) 今日のマーフィーの法則 [マーフィーのダイエットの第一法則]
痩せてほしくないところが、最初に痩せる。

midikyou

unread,
Feb 1, 2000, 3:00:00 AM2/1/00
to
>「LSI-C」というコンパイラをインストールして勉強してます。

>最近、ワイヤーフレームでもいいので、絵を書きたいと思うようになりま
>したが、C言語で図形を表示するという事について書かれた文献がな
>かなかありません。

LSI-CてことはDOS用のコンパイラですよねぇ・・・
おそらくDOS/V機で使用されていると思いますが、PC98用のグラフィック
BIOSの本はけっこう残ってますが、DOS/V用のは数えるほどしか見たこと
ありません。したがって、Windows用(Win32用)のコンパイラに乗り換えるこ
とをすすめします(LSI-Cである基本をおさえてからですが・・・)。

さすがにVC++6.0は高いので、最初はフリーのを使いましょう。

DEV C++ http://www.bloodshed.nu/devc.html

なんかがお勧めです。(英語ですが...(^^)

>そこで、簡単な質問なんですが、線を引くという関数が分かりません。
>簡単でいいので、円、三角、四角 を表示するプログラムの書き方を、
>教えていただけないでしょうか。

前問の流れから考えてWindowsでやることになります。
普通Windowsプログラミングは、LSI-Cで組んでたプログラムの書き方と
かなり違ってきます(while(キーを押すまで)...のような処理ができないし、
printf()とか、scanf()はもちろん使えません)。DOSの時代からやってた人
で、この変化について行けなかった人は少なからずいるでしょう。

そこで、「VCA.LIB」なるライブラリ(math.libとかを’ライブラリ’といいます)
を作りました。

http://www.geocities.co.jp/SiliconValley-SanJose/8134/ のSoftコーナー

DOSプログラミングライクな書き方と、簡単なグラフィックやビットマップ表示
を提供します(宣伝)。VC++6.0以外のコンパイラでリンクを試したことがない
ので、その辺が不安ですが、動けばゲーム作成も遠くありませんよ。

>あと、C言語で、GUIを使って「hello C world!」というウィンドウを表示す

>ることなどは、可能でしょうか?

GUI=Windowという意味ならできます。「VCA.LIB」ならさらに簡単!(また宣伝)

では、おじゃましました・・・
--
みでぃ狂
E-mail: midi...@geocities.co.jp
URL : http://www.geocities.co.jp/SiliconValley-SanJose/8134/


jun

unread,
Feb 3, 2000, 3:00:00 AM2/3/00
to
皆さん、ご返答ありがとうございました。
共通して言える事は、「LSI-C」では、私が考えているようなことは出来ないという
ことが、よく分かりました。
やはりちゃんとした、コンパイラを用意したいと思います。
そこで、boland C++とmicrosoft VC++とでは、どちらがお勧めでしょうか?

fu...@kiss.taihaku.sendai.jp

unread,
Feb 3, 2000, 3:00:00 AM2/3/00
to
藤森です。

>> On Thu, 3 Feb 2000 00:05:32 +0900, "jun" <junt...@hotmail.com> said:

> やはりちゃんとした、コンパイラを用意したいと思います。
> そこで、boland C++とmicrosoft VC++とでは、どちらがお勧めでしょうか?

製品買っちゃってもいいのですが、まずは無料で使えるコンパイラで始めてもよ
いのでは?

Windows上で使えるUNIXもどき環境 http://sourceware.cygnus.com/cygwin/
これで始めてみるのはどうでしょう。
もうしばらくするとBorlnad C++コンパイラが無償で提供されるようですしこれ
を待っても良いでしょう。
高津@ドーガさんによると


そういえば、今でも Turbo C / Turbo Pascal の古いやつは無償配布してますね。
http://community.borland.com/
の Museum からダウンロードできます。

だそうですし。

私はAPIを直接呼んじゃうのとスレッドを使うまでもないことをやっている人な
のでもっぱらgcc(Cygwinに含まれる)を使ってます。
# VisualCの吐き出すコードがあまり好きじゃないので。
VisualCも持ってますがデバッガーしか使っていません。

midikyou

unread,
Feb 3, 2000, 3:00:00 AM2/3/00
to
>DEV C++ http://www.bloodshed.nu/devc.html
>なんかがお勧めです。(英語ですが...(^^)

中略...VCA.LIBの話...

>VC++6.0以外のコンパイラでリンクを試したことがない
>ので、その辺が不安ですが、動けばゲーム作成も遠くありませんよ。

ごめんなさい、「DevC++」ではリンクできませんでした。ま、予想はしてま
したが・・・(^^; VCA.LIBはVC++を買う余裕ができたときにでも、試して
やって下さい。

>私はAPIを直接呼んじゃうのとスレッドを使うまでもないことをやっている人な
>のでもっぱらgcc(Cygwinに含まれる)を使ってます。


なんか良さそうですねぇ「Cygwin」、ちなみに英語に圧倒されて挫折したはこ
ちらに行って見て下さい。

http://pegasus.sfc.keio.ac.jp/~hidec/pub/IPLIbc/Setup/progforwin/progforwin.
html
http://www.kt.rim.or.jp/~ksk/gnu-win32/indexj.html
http://www1.neweb.ne.jp/wa/mii/cygwin.html

私は、Win32APIを覚えるだけで精一杯なので、当分は手がつけれそうにありません。
でもいつはかGTKとかやってみたいです。(Cygwinを拾ったついでに「GIMP for 
Win32
」を発見しました。これもなかなか・・・、これからUNIX版との比較をするとこで
す。)

KGK == Keiji KOSAKA

unread,
Feb 5, 2000, 3:00:00 AM2/5/00
to
! "<87buub$sev$1...@nsv1002.zaq.ne.jp>" という記事で
! Thu, 3 Feb 2000 22:13:59 +0900 頃に midikyou さん は言ったとさ:

> なんか良さそうですねぇ「Cygwin」、ちなみに英語に圧倒されて挫折したはこ
> ちらに行って見て下さい。

Unix 環境に思い入れがなく、コンパイラが欲しいだけでしたら、mingw32とい
う手もありますね。
# 基本的にはCygwin32のサブセット。

そこから GUI プログラミングをしたいのであれば、V という選択があります。
これは Windows と X と OS/2 で動くマルチプラットフォームなGUI作成支援
ツールです。
# VC++でのMFCに相当するやつ。

mingw32とVのどちらか(あるいは両方)を使うなら
http://www.geocities.co.jp/SiliconValley-PaloAlto/5041/index.html
の記述が参考になるでしょう。
# 日本語で解説してます。

さらに、V のリファレンス・マニュアルの日本語訳が欲しければ、
http://www.bekkoame.ne.jp/~bero/docj/v/wvrefman.htm
を見るとよいでしょう。
# 翻訳システムで訳したようなひどい日本語ですが(^^;)
--
KGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGK
KGK KGK (life name: Keiji KOSAKA), Dept. of Phys., Okayama Univ. KGK
KGK mailto:k...@mp.okayama-u.ac.jp http://mp.okayama-u.ac.jp/~kgk/ KGK
KGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGKGK

jun

unread,
Feb 5, 2000, 3:00:00 AM2/5/00
to
いろいろ情報をいただき、誠にありがとうございます。
ご紹介いただいた中の、フリーのコンパイラを使いたいと思いますが、Cのことにつ
いてもよく分かってないのに、しかも、マニュアルが英語ときていると、少しつらい
です。
そこで、また話を元に戻すようで恐縮ですが、
要するに、Cではなく 、***C++というコンパイラーであれば、
GUI(dos窓ではなく、windowのことを言ってます)を表示することが、可能になると
いうことでよろしいでしょうか?
また、そういったコンパイラーは、C++について書かれている解説書のプログラム
ソース
をそのまま使ったとしても、互換性があるのでしょうか。


TOMOHIRO Nishino

unread,
Feb 6, 2000, 3:00:00 AM2/6/00
to
西野です。

junさんの<87hc0l$ana$1...@news01dc.so-net.ne.jp>から
件名「Re: Re: GUIで文字付きのウィンドウを表示したい (Re:初心者ですが)」


>ご紹介いただいた中の、フリーのコンパイラを使いたいと思いますが、Cのことにつ
>いてもよく分かってないのに、しかも、マニュアルが英語ときていると、少しつらい
>です。

英語はつらいかもしれませんが、
http://www.idiom.com/free-compilers/
こういうところもあります。
参考程度に見てください。
# C以外のコンパイラ、インタプリタもあります

>要するに、Cではなく 、***C++というコンパイラーであれば、
>GUI(dos窓ではなく、windowのことを言ってます)を表示することが、可能になると
>いうことでよろしいでしょうか?

CでもGUIのアプリケーションは作れるものもありますし、C++といってもGUIのアプリケー
ションを作ることが難しいものもあります。
たとえば、lcc-win32というフリーのC言語コンパイラ(英語です)は、C++ではありません
がwindows95のGUIアプリケーションを作ることができます。
Inprise社のTurbo C++ for DOSでは、DOS上のグラフィックを表示する機能はありますが、
Windows95/98のGUIアプリケーションは作れません。
DOSのGUIアプリケーションなら作れると思いますが。

lcc-win32
http://www.cs.virginia.edu/~lcc-win32/
Turbo C++ for DOS
http://community.borland.com/museum/

>また、そういったコンパイラーは、C++について書かれている解説書のプログラム
>ソース
>をそのまま使ったとしても、互換性があるのでしょうか。

GUIアプリケーションの例が出ている解説書は、大きく分けてX-WindowとMS-Windowにわか
れると思います。
X-Windowのプログラムを、Windows95のGUIアプリケーションとしてコンパイルするには変
更が必要ですし、その逆もありえます。
また、VisualC++のソースと、BorlandC++のソースは互換性がないかもしれません。
# バージョンの差だけでも動かないことがあります

基本は同じなので、まずはC/C++の基本から覚えてはどうでしょう。
うちにあるC++の初心者向けの本は
「Dr.JamsaのC++超入門」
があります。Windowのことは全く書いてありません。
GUIアプリケーションを作りたいなら、コンパイラを決めてから、そのコンパイラの入門
書を買うほうがよいと思います。

--
TOMOHIRO Nishino mailto:sh...@freemail.hu

fu...@kiss.taihaku.sendai.jp

unread,
Feb 6, 2000, 3:00:00 AM2/6/00
to
藤森です。

>> On Sat, 5 Feb 2000 23:25:47 +0900, "jun" <junt...@hotmail.com> said:

> ご紹介いただいた中の、フリーのコンパイラを使いたいと思いますが、Cのことにつ
> いてもよく分かってないのに、しかも、マニュアルが英語ときていると、少しつらい
> です。

マニュアルが英語といっても恐ろしくありませんよ。
使用する上でどうしても読まなくてはいけない所はコンパイラを動かす時に指定
するオプションくらいですから。

> そこで、また話を元に戻すようで恐縮ですが、
> 要するに、Cではなく 、***C++というコンパイラーであれば、

これは、Microsoft Visual C++とかBorland C++Builderといった製品を指してい
るのですよね。

> GUI(dos窓ではなく、windowのことを言ってます)を表示することが、可能になると
> いうことでよろしいでしょうか?

いいえ、そんなことはありません。少し前に書きましたが私はコンパイラとして
Cygwinに含まれているgcc(GNU Compiler Collection)でコンパイルを行ないデバッ
ガとしてVisualC++を使っていますよ。
# gccの色々なモジュールを揃えるとC,C++,Objective-C,Fortran,Javaなどなど
# のコンパイルが出来るようになります。CygwinでのgccはCとC++の両方がコン
# パイルできます。

GUI用の開発支援環境(ウィンドウやダイアログの外観を作成したりボタンなどの
コントロールをGUI上で配置し、それらのコントロールを動作させるために必要
なスケルトンを出力してくれるような機能と思って下さい)やWindowsの機能を使
う上で便利になるような(必ずしも便利とは限りませんけど)クラスライブラリが
附属しているものがVisual C++であったりC++Builderであったりするだけです。
コンパイラ+αといった形でして、+αの部分の占める役割がとても大きいです。
# コンパイラ部分しか使わないんでしたらclでもtccでもbcc32でもgccでも違い
# はあまりないです。
凝りまくったダイアログなんかを作りたいのならC++Builderなどのパッケージ製
品を勧めます。
junさんの当初の目的はワイヤフレームなどのような絵をプログラムで書きたい
ということなので当面はgccなどで充分だと思います。
プログラムを終了させるための最低限のイベントディスパッチャを書いてウィン
ドウを作ってクライアント領域のデバイスコンテキストを取得して線を書くとい
う部分でしかWindowsの機能を呼び出さないところから始まることになりますし、
大変なのは座標変換だとか、隠面処理であるとかいったアルゴリズム部分だと思
います。

> また、そういったコンパイラーは、C++について書かれている解説書のプログラム
> ソース
> をそのまま使ったとしても、互換性があるのでしょうか。

これは、ソースによって異なります。
MFC使ったソースであればVisualC++などのMFCをサポートしたヘッダやインポー
トライブラリが無ければコンパイル・リンクできません。
# MFCはMicrosoft Faundation Classの略でマイクロソフトが作ったクラスライ
# ブラリです。
特に指定のないソースならばWindowsのAPIのためのヘッダを持っているコンパイ
ラなら、ほぼコンパイル可能です。
下に書いたようなプログラムは***C++といった製品を必要としませんがちゃんと
GUIしてますよ。


// ウィンドウを作るだけのプログラム(ま、良くあるテンプレートみたいなもので
// す)。コンパイルして確認してないですけど動くと思います。
// NTのファイルシステムが壊れたのにまだ再セットアップしてないもんで…
// ちなみにWindows APIとC、C++のコメントしか使ってません。
#include <windows.h>

LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg){
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_CLOSE:
DestroyWindow(hWnd);
return 0;
}

return DefWindowProc(hWnd, uMsg, wParam, lParam);
}

BOOL InitApplication(HINSTANCE hInstance)
{
WNDCLASS wc;
// ウィンドウクラスを作成
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.lpszMenuName = NULL;//MAKEINTRESOURCE(IDR_CHANNEL);
wc.lpszClassName = "アプリケーションの名前";
if (!RegisterClass(&wc))
return FALSE;
return TRUE;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{

MSG msg;
HWND hWnd;
InitApplication(hInstance);
hWnd = CreateWindow(szWindowClass, "ウィンドウタイトル", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if (!hWnd)
return FALSE;
ShowWindow(hWnd, nCmdShow);
UpdateWindow( hWnd );
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage (&msg);
}
// 終了する
return msg.wParam;

jun

unread,
Feb 7, 2000, 3:00:00 AM2/7/00
to
こんばんは、いろいろな方から、ご教授いただいたのですが、やはりまだ勉強不足な
ところがあり、ご返答の文章の意味をよく理解できない部分があり、半ばあきらめか
けていましたが、皆さんの親切なメールを読み、「負けないわ!」と思うのでありま
す。
そこで、僕は、ついにCygwinというコンパイラをダウンロードすることにしました。
ところが、ダウンロードする段階においてまた壁にぶちあたりました。
ftp://ring.so-net.ne.jpから 「Cygwin-20」をダウンロードしようとしましたが、
中に含まれている、ファイル形式に、tarボールらしきものがあるのですが、これ
は、linuxでしか展開できないファイルではないかと思いますが、readmeには、win98
でもO.kみたいなことが
書かれていましたが、win98で使っても大丈夫でしょうか?一応turbolinux 4.0は何
とか入っています。
また LSI-Cみたいに、dosでPATHの設定とかも必要になってくるのでしょうか。
それよりも、いっそのことturbolinuxでやったほうが早いでしょうか。
なぞは深まる一方ですが、面白くなってきました。
どうかご教授ください。


Shin Miyazaki

unread,
Feb 7, 2000, 3:00:00 AM2/7/00
to
windows のプログラミングの話であれば fj.os.ms-windows.programming
の方が適切ってことで。

<87k6ba$8h4$1...@news01bb.so-net.ne.jp> の記事において
"jun" <junt...@hotmail.com> が書いたことについて、

> ftp://ring.so-net.ne.jpから 「Cygwin-20」をダウンロードしようとしましたが、
> 中に含まれている、ファイル形式に、tarボールらしきものがあるのですが、これ
> は、linuxでしか展開できないファイルではないかと思いますが、readmeには、win98

とりあえずは「full.exe」だけ入れましょう。
tarボールって man ページやソースファイルしか無いと思いますが、
これらも full.exe で一通りの環境が入ってしまえば、Cygwin 上で
展開できます。

--
みやざき
sh...@miyazaki.email.ne.jp

Kazuhiro Fujieda

unread,
Feb 7, 2000, 3:00:00 AM2/7/00
to
藤枝@JAISTです。

In article <87gudj$cql$1...@film.rlss.okayama-u.ac.jp>


KGK == Keiji KOSAKA <k...@mp.okayama-u.ac.jp> wrote:

> Unix 環境に思い入れがなく、コンパイラが欲しいだけでしたら、mingw32とい
> う手もありますね。

という手もありますというより、mingw32だけにしといた方がいいです。
UNIXとの互換性がいらなくて、コンパイラだけがほしい人にとって、
full.exeは余計なものが多すぎます。

mingw32なら、コンパイルしたバイナリがlibcygwin.aというお荷物を抱
えこまなくてすみますしね。
____
| AIST 北陸先端科学技術大学院大学
| HOKURIKU 情報科学研究科 落水研究室
o_/ 1990 藤枝 和宏 fuj...@jaist.ac.jp

Kawauchi Hidehiko

unread,
Feb 7, 2000, 3:00:00 AM2/7/00
to
fj.comp.lang.c の <udvh47...@linux.kiss.taihaku.sendai.jp> の
記事において 2000年02月03日(木) 01時01分59秒頃、
fu...@kiss.taihaku.sendai.jpさんは書きました。

>製品買っちゃってもいいのですが、まずは無料で使えるコンパイラで始めてもよ
>いのでは?
>
>Windows上で使えるUNIXもどき環境 http://sourceware.cygnus.com/cygwin/
>これで始めてみるのはどうでしょう。

以前GRXとDJGPPの組み合わせで、PC-9801のMS-C用に書かれたプログラムを
移植して遊んでいました。
最近また趣味のプログラミングを始めたので、色々探していたのですが、
GrWin無料のコンパイラと組み合わせるのなら、GrWinあたりがいい感じに
思えます。
私の趣味にとても合ったのはFLTKですが、最初に使うにはちょっと辛いと思います。

#FLTKはデモがなかなか良いです。マニュアルも読みやすいし。
#GTKは挫折しました。


GRX graphics library <URL:http://www.gnu.de/software/GRX/>
GrWinグラフィクス・ライブラリ <URL:http://spdg1.sci.shizuoka.ac.jp/grwinlib/>
FLTK <URL:http://www.fltk.org/>
WMGRAPH <URL:http://kilin.u-shizuoka-ken.ac.jp/prog1/_wmgraph.html>
--
河内英彦

jun

unread,
Feb 8, 2000, 3:00:00 AM2/8/00
to
こんばんは、ついにCygwinをダウンロードしました。
full.exeでダウンロードしました。
そして、
---------------------------------------------------------

>// ちなみにWindows APIとC、C++のコメントしか使ってません。
>#include <windows.h>

>LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, >LPARAM
lParam)
>{
>switch(uMsg){
>case WM_DESTROY:

>PostQuitMessage(0); あと省略
------------------------------------------------------------

の部分をコピーして、「test.cpp」という名前で保存し
gcc test.cppとしましたら、cpp:42 undeclaredと出ました。
ちなみに、
#include<stdio.h>
int main(){
printf("hello!");
}
を「test2.c」で保存し、gcc test2.cとすると、a.exe というファイルが出来
ます。
そこで a と入れてもcommand not foundというエラーになりますが、コンパイル方
法に問題があるのでしょうか?
a.exeをダブるクリックすると、「必要なDLLファイル CYGWIN1ファイルが見つかり
ません」というエラーになりました。
ここから先はどのように進めばよろしいでしょうか?

Shin Miyazaki

unread,
Feb 8, 2000, 3:00:00 AM2/8/00
to
<87mrsr$4e$1...@news01cb.so-net.ne.jp> の記事において
"jun" <junt...@hotmail.com> が書いたことについて、

> >PostQuitMessage(0); あと省略
> ------------------------------------------------------------
>
> の部分をコピーして、「test.cpp」という名前で保存し
> gcc test.cppとしましたら、cpp:42 undeclaredと出ました。

ああ、あのソースはそのままじゃコンパイルできないですね。

最初は *MFC用じゃ無い* Windows プログラムの参考書で
勉強をはじめるのがよろしいかと。

> そこで a と入れてもcommand not foundというエラーになりますが、コンパイル方

> 法に問題があるのでしょうか?

いえ、実行パス上に a.exe が無いからです。
DOS プロンプトと違って cygwin のコンソールでは、カレント
ディレクトリは実行パスに含まれません。

ということで、
./a
とやりゃいいです。

> a.exeをダブるクリックすると、「必要なDLLファイル CYGWIN1ファイルが見つかり
> ません」というエラーになりました。

こっちは、cygwin がインストールされたディレクトリ以下の
(たぶん)cygwin-b20/bin にある cygwin1.dll を Windows
ディレクトリにコピーしておけば大丈夫です。

--
みやざき
sh...@miyazaki.email.ne.jp

fu...@kiss.taihaku.sendai.jp

unread,
Feb 8, 2000, 3:00:00 AM2/8/00
to
藤森です。

>> On 08 Feb 2000 10:49:21 +0900, Shin Miyazaki <sh...@miyazaki.email.ne.jp> said:

> <87mrsr$4e$1...@news01cb.so-net.ne.jp> の記事において
> "jun" <junt...@hotmail.com> が書いたことについて、

>> a.exeをダブるクリックすると、「必要なDLLファイル CYGWIN1ファイルが見つかり
>> ません」というエラーになりました。

> こっちは、cygwin がインストールされたディレクトリ以下の
> (たぶん)cygwin-b20/bin にある cygwin1.dll を Windows
> ディレクトリにコピーしておけば大丈夫です。

gcc -mno-cygwin test.cpp
とコンパイルオプションを付ければcygwin1.dllを必要としなくなります。


Hiroki Kashiwazaki

unread,
Feb 8, 2000, 3:00:00 AM2/8/00
to
柏崎@北海道です。

From:"jun" <junt...@hotmail.com>
Message-ID:<87mrsr$4e$1...@news01cb.so-net.ne.jp>から

>の部分をコピーして、「test.cpp」という名前で保存し
>gcc test.cppとしましたら、cpp:42 undeclaredと出ました。

これは、include されてなかったり、宣言してないものを使ったのだと
考えられるとして、

>ちなみに、
>#include<stdio.h>
>int main(){
>printf("hello!");
>}

>を「test2.c」で保存し、gcc test2.cとすると、a.exe というファイルが
>出来ます。


>そこで a と入れてもcommand not foundというエラーになりますが、コン

>パイル方法に問題があるのでしょうか?


>a.exeをダブるクリックすると、「必要なDLLファイル CYGWIN1ファイルが
>見つかりません」というエラーになりました。

この問題は、

./a.exe(リターン)

とする事で解決できると思います。実行ファイル名を全部書き、その前に
"./" をつけます。これは cygwin 付属の bash を、何の変更もなく起動
した環境では、カレントディレクトリにパスが通っていないことにより
起こる(のか?)ことです。この問題は .bashrc ファイルをいじくる
ことにより改善できます。

また、ダブルクリックしても実行できない、とのことですが、これは、
環境変数 PATH に、Cygwin の DLL があるディレクトリが通っていない
ためだと思われます。もし、どうしてもダブルクリックで実行したいの
であれば、 autoexec.bat をいじったり(Windows95,98)、コンパネの
システムから環境変数を追加する(WindowsNT)なりしましょう。

僕も Cygwin は、まだ使い始めたばかりなので、拙い説明であり、誤っ
た用語の使用などあるでしょうが、ご容赦ください。また有識人の方々、
誤っている個所の指摘などして頂ければ幸いです。

--
柏崎 礼生(れお):Hiroki Kashiwazaki
mailto:r...@mb.infosnow.ne.jp

jun

unread,
Feb 9, 2000, 3:00:00 AM2/9/00
to
こんばんは、藤森さんの方から、修正版のtest.cをいただきコンパイルしたところ、
GUIが表示できました。!
ほとんど、C++初心者 オンライン無料セミナーのような形になってしまいました
が、藤森さんをはじめ、多くの方々に暖かいお言葉をいただき、大変感謝しておりま
す。
普通、他のニュースグループでは初心者は嫌われるのですが、お忙しいなかお付き合
い頂き、本当にありがとうございました。
いつか、この恩返しはしたいと思います。 精神的に...................
さて、ここからが本当に難しくなってくるのですが、私はCygwinで作ったtest.cの
ソースの意味を理解しなければなりません。そして、Cygwinを使ってGUIつきのプロ
グラムを書く勉強をしたいのですが、お勧めの解説書とかご存知であればぜひ教えて
ください。

fu...@kiss.taihaku.sendai.jp

unread,
Feb 9, 2000, 3:00:00 AM2/9/00
to
藤森です。

>> On Wed, 9 Feb 2000 00:42:47 +0900, "jun" <junt...@hotmail.com> said:

jun> さて、ここからが本当に難しくなってくるのですが、私はCygwinで作ったtest.cの
jun> ソースの意味を理解しなければなりません。そして、Cygwinを使ってGUIつきのプロ
jun> グラムを書く勉強をしたいのですが、お勧めの解説書とかご存知であればぜひ教えて
jun> ください。

ここで、C言語そのものの修得に必要な情報と、Windowsプログラミングに必要な
情報が必要になってくるのでfj.comp.lang.cとfj.os.ms-windows.programmingに
クロスポストします。

私はCを「プログラミング言語C」(俗にいうK&Rです)でだいたいの雰囲気を覚え
少したってから「現実的なCプログラミング」であらためて覚えました。あとは
他人のソースやニューズグループに出てきた話題で少しづつ積み重ねていきまし
た。

Windowsはというと「Windows3.1プログラム開発技法」(古いですね)で覚えまし
た。その後はMSDNとWebが情報源です。

皆さんはどのような過程で学習されたのか、これはお勧め、これは絶対見ちゃだ
め。といったことがありましたらC言語に関することでしたらfj.comp.lang.cへ、
Windowsに関することでしたらfj.os.ms-windows.programmingへフォロウをいた
だければと思います。


BERO

unread,
Feb 9, 2000, 3:00:00 AM2/9/00
to
jun wrote:
>
> 要するに、Cではなく 、***C++というコンパイラーであれば、

> GUI(dos窓ではなく、windowのことを言ってます)を表示することが、可能になると
> いうことでよろしいでしょうか?
> また、そういったコンパイラーは、C++について書かれている解説書のプログラム
> ソース
> をそのまま使ったとしても、互換性があるのでしょうか。

WindowsはGUIの機能(API)を内蔵しているので、Windows用のコンパイラあれば、
C/C++,フリー/市販問わずGUIを表示することが可能です。

市販の***C++コンパイラは通常,Windowsの機能を直接使わず、C++から使いやす
いように皮をかぶせた
GUI(に限定されませんが)ライブラリを付属しています。このGUIライブラリはコ
ンパイラによって違うので、例えばVisual C++用の解説書とC++ Builderの解説
書は互換がありませんが、
単にC、C++言語、Windowsのコンパイラを限定しない解説書であれば、互換性が
あります。

--
BERO

Console/Emulator Programming
http://www.geocities.co.jp/Playtown/2004/
be...@geocities.co.jp
--
BERO

Console/Emulator Programming
http://www.geocities.co.jp/Playtown/2004/
be...@geocities.co.jp

IIJIMA 'Delmonta' Hiromitsu

unread,
Feb 10, 2000, 3:00:00 AM2/10/00
to
いいじま@東大文学部です。

とりあえず C と Windows の両方に関係するのでグループはそのまま。

> Windowsはというと「Windows3.1プログラム開発技法」(古いですね)で覚えまし
> た。その後はMSDNとWebが情報源です。

私は「猫でもわかるプログラミング」 http://www.kumei.ne.jp/c_lang/
で Windows プログラミングを勉強中です。順を追って丁寧に書かれている
ので、すでに C がわかっている人にはお勧めです。

#このサイト、C 言語編・C++ 編もあるのですが、こっちは、全くの
#初心者にはきついような気がします(とくにポインタ絡み)し、
#けっこうボロも目立つので、あんまりおすすめしません。

で、あとは MSDN と Web、加えて grep(笑)、と。
私の場合、だいたいどんな言語でも、

○入門用の(詳細文法に入らず、○○をするには××と書け、と
 羅列してある程度のものでよい)テキスト 1 冊

○リファレンスマニュアル(英語が望ましい;というのは、
 キーワードで全文検索する際に、英語のほうが用語の揺れが
 少ないため)

○大量のサンプルおよびワーキングコード

で覚えます。一通りわかったら最後に文法書の原点で極める、と。

…あとはやっぱり『C マガジン』かなぁ?

☆-- 飯嶋 浩光 ----------------------------------------------☆
|IIJIMA 'Delmonta' Hiromitsu an der Universitaet Tokyo |
☆-----------------------------------------------------------☆
|ODN ユーザーは odn.question を購読しましょう。 |
☆-----------------------------------------------------------☆
|【宣伝】Windows 95/98 管理人のための MS-DOS 基礎講座 |
http://user.ecc.u-tokyo.ac.jp/~l94102/dos/
☆-------------------------- L94...@mail.ecc.u-tokyo.ac.jp --☆

0 new messages