C++でのライブラリ構築方法
introeにはライブラリの作り方がありますが、それはC版のもので、関数の宣言・定義しかありません。そこで、クラスのライブラリが使いたいなと思って作ろうと思っても、作り方が分からない。
introeみたいな、ヘッダファイルには宣言のみを書き、各ファイルにそれぞれ分けて定義するような方法でクラスの宣言・定義が出来ないものかと考えております。(そのような方法以外でも、こうすればライブラリが作れるよ、といった情報もお待ちしております。)
どなたか教えてください。よろしくお願いします。
by uchan
コメント
- ヘッダファイルにはクラスの宣言を書き、メンバ関数の中身は書きません。そしてメンバ関数の中身をcppに書けばいいのです。 -- K 2004-10-05 (火) 17:49:46
- なぜクラスライブラリが必要になるのかわかりませんが、VC++ONosa_dir2 の情報があれば十分だったので試しに作ったものを添付します。 -- bayside 2004-10-05 (火) 17:48:52
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を同封しています
- 川合さん、ベイサイドさん、お返事ありがとうございました。おかげで、クラスのライブラリーを作ることが出来ました。クラスライブラリが必要になる理由ですが、単に自分がそうしたいからです。C++でプログラムを作ろうと思うと、どうしてもクラスのライブラリが必要になってきます、ってかいたので、誤解を生んでしまったのかな。訂正しておきます。 -- uchan 2004-10-05 (火) 18:35:50
- BayGUIはコンパイルはとおったのですが警告がいっぱいでて動きませんでした。しばらくはC++は様子見です。 -- bayside 2004-10-05 (火) 23:56:21