[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 05/09 12:01 / Filesize : 4 KB / Number-of Response : 14
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part66



1 名前:デフォルトの名無しさん [2009/02/12(木) 15:34:43 ]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part65
pc11.2ch.net/test/read.cgi/tech/1230341243/

2 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 15:43:49 ]
STLつかうと一気に実行ファイルサイズが10倍に?!

環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない

すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。

C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?

#include <stdafx.h>
後死ね。

言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。

3 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 21:58:53 ]
真スレです 仲良く使ってね楽しく使え クズども

4 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 00:19:34 ]
基本的なことなのですが、質問させてください。

DLL のクラスの変数をほかのアプリケーションから利用したいのですが、アプリケーションのビルドでリンカーエラーになってしまいます。

---DLL のクラスのヘッダーの一部---
class __declspec(dllexport) Sample1
{
public:
Sample1(void);
~Sample1(void);
public:
static const char *str_data;
};

---DLLのクラスのCPPの一部---
const char *Sample1::str_data = "Hoge";

---アプリケーションのCPPの一部---
_TCHAR buf[255];
_swprintf(buf, _T("str_data = %s\r\n"), Sample1::str_data);
::OutputDebugString(buf);

DLLはビルドできますが、アプリケーションでは
error LNK2001: 外部シンボル ""public: static char const * const Sample1::str_data" (?str_data@Sample1@@2PBDB)" は未解決です。
とでてしまいます。

よろしくお願いします。

5 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 00:21:55 ]
DLLを使う側では、__declspec(dllimport)付きでクラス定義している?

6 名前:4 mailto:sage [2009/02/13(金) 00:24:20 ]
>>5
していません。 __declspec(dllexport) はしているのですが。

dllimport については使ったことがなかったので調べて見ます。ありがとうございます。

7 名前:4 mailto:sage [2009/02/13(金) 00:54:46 ]
すいません。まだ、少ししか dllimport について調べていないのですが、もう一度質問させてください。
以下のように アプリケーションのヘッダーに dllimport を追加しましたが、同じリンカーエラーになりました。

---アプリケーションのヘッダー---
#include "resource.h"

#include "..\\Test_class\\Sample1.h"
#pragma comment(lib, "Test_class.lib")

__declspec(dllimport) Sample1;

リンカーエラー
Test_classApp.obj : error LNK2001: 外部シンボル ""public: static char const * const Sample1::str_data" (?str_data@Sample1@@2PBDB)" は未解決です。

ちなみに、VC++ 2008 Express を使っています。

static const のメンバ変数の書き方は、
ttp://frog.raindrop.jp/knowledge/archives/000281.html
などを参考にさせていただいたのですが、問題ないように思えます。

はっきりいって、原因がさっぱりわかりません。
強いていえば、やはり dllimport のような DLL をつかった場合の設定を間違えているのかと思っています。
今日はもうレスができないかもしれませんが、よろしくおねがいします。

8 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 00:58:13 ]
関数のときと同じで、DLLを作る側はclass __declspec(dllexport) Sample1にして、
使う側はclass __declspec(dllimport) Sample1になるようにしないとだめだよ。


9 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 02:22:29 ]
>>1
ゴミクズ

10 名前:デフォルトの名無しさん [2009/02/13(金) 08:49:08 ]
>>9
生ごみ



11 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 11:18:34 ]
オブジェクトを作成するとき
クラス名 ob1;
クラス名 *ob2;

この上と下の違いはなんでしょうか?
上は新しくクラスをつくっていて
下はクラスのアドレスを渡しているということですか?

12 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 11:36:20 ]
>>11
上はオブジェクトの作成。
下はオブジェクトへのポインタの作成。
ただの宣言文なのでアドレスを渡しているわけではない。

13 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 11:55:06 ]
↓こっち先に使わないか?
C++相談室 part66
pc11.2ch.net/test/read.cgi/tech/1231640498/l50






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<4KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef