1: 2004-10-05 (火) 17:25:08 |
2: 2004-10-05 (火) 18:39:04 |
| *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 |