1: 2004-10-05 (火) 17:25:08 [6] | 2: 2004-10-05 (火) 18:39:04 [7] | ||
---|---|---|---|
Line 1: | Line 1: | ||
*C++でのライブラリ構築方法 | *C++でのライブラリ構築方法 | ||
- | introeにはライブラリの作り方がありますが、それはC版のもので、関数の宣言・定義しかありません。しかし、C++でプログラムを作ろうと思うと、どうしてもクラスのライブラリが必要になってきます。~ | + | introeにはライブラリの作り方がありますが、それはC版のもので、関数の宣言・定義しかありません。そこで、クラスのライブラリが使いたいなと思って作ろうと思っても、作り方が分からない。 |
- | そこで、introeみたいな、ヘッダファイルには宣言のみを書き、各ファイルにそれぞれ分けて定義するような方法でクラスの宣言・定義が出来ないものかと考えております。(そのような方法以外でも、こうすればライブラリが作れるよ、といった情報もお待ちしております。) | + | |
+ | introeみたいな、ヘッダファイルには宣言のみを書き、各ファイルにそれぞれ分けて定義するような方法でクラスの宣言・定義が出来ないものかと考えております。(そのような方法以外でも、こうすればライブラリが作れるよ、といった情報もお待ちしております。) | ||
どなたか教えてください。よろしくお願いします。 | どなたか教えてください。よろしくお願いします。 | ||
by uchan | by uchan | ||
+ | |||
+ | ***この件はすでに解決いたしました。 | ||
*コメント | *コメント | ||
+ | -ヘッダファイルにはクラスの宣言を書き、メンバ関数の中身は書きません。そしてメンバ関数の中身をcppに書けばいいのです。 -- [[K]] SIZE(10){2004-10-05 (火) 17:49:46} | ||
+ | -なぜクラスライブラリが必要になるのかわかりませんが、[[VC++ONosa_dir2]] の情報があれば十分だったので試しに作ったものを添付します。 -- ''bayside'' SIZE(10){2004-10-05 (火) 17:48:52} | ||
+ | |||
+ | &ref(sample.zip); | ||
+ | |||
+ | --helloc4.cppはhellolib.libを使います | ||
+ | |||
+ | /* "helloc4.cpp":helloをC++言語で記述した例 */ | ||
+ | /* stack:4k malloc:1k */ | ||
+ | extern "C" { | ||
+ | #include <guigui00.h> | ||
+ | void OsaskMain(); | ||
+ | } | ||
+ | #include "hellolib.h" | ||
+ | void OsaskMain() { | ||
+ | helloc4 h; // Cにはコンストラクタがないので | ||
+ | } | ||
+ | |||
+ | --hellolib.cppはライブラリー化したHello,Worldクラスです | ||
+ | --他に必要なMakefileや改変したguigui00.rulを同封しています | ||
+ | -ここまでできればBayGUIも簡単に移植できちゃうじゃん(笑)とりあえず画面全部を占めるウィンドウでも作ってやるかな・・ -- ''bayside'' SIZE(10){2004-10-05 (火) 17:55:38} | ||
+ | -川合さん、ベイサイドさん、お返事ありがとうございました。おかげで、クラスのライブラリーを作ることが出来ました。クラスライブラリが必要になる理由ですが、単に自分がそうしたいからです。C++でプログラムを作ろうと思うと、どうしてもクラスのライブラリが必要になってきます、ってかいたので、誤解を生んでしまったのかな。訂正しておきます。 -- ''uchan'' SIZE(10){2004-10-05 (火) 18:35:50} | ||
+ | |||
#comment | #comment |
(This host) = http://osask.net