ExcelからDeclareで自作DLL(VC++2010で作成)を呼び出す際、自作DLL以外にmsvcr100d.dllが必要だったのですが、配布目的のためできるだけ余計なDLLを使いたくないのです。このmsvcr100d.dllを使わずにすむ方法はありますか?

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/08/09 15:33:30
  • 終了:2010/08/16 15:35:03

回答(2件)

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492010/08/09 16:56:00

ポイント35pt

プロジェクトの「Configuration Properties」-「C/C++」-「Code Generation」-「Runtime Library」で/MT、/MTdを選択しても動作するものであればDLL不要となります

 

ランタイムライブラリは下記参照

http://msdn.microsoft.com/ja-jp/library/abx4dbyh.aspx

id:after_333sec

ありがとうございます。できました。

ファイルサイズが結構大きくなりましたが、これは必要なランタイムが自作DLLに埋め込まれたからという認識でよろしいのでしょうか?

2010/08/10 11:21:56
id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492010/08/10 12:03:56

ポイント35pt

>必要なランタイムが自作DLLに埋め込まれた

 

おおよそ、その認識で間違いありません(厳密には、うまく説明できません。ごめんなさい)

サイズを抑えたい場合は「Optimization」で調整したりもできますが、これがうまくいかない場合も多いらしいので、手探りでやってもらうしかないところだったりします

 

「多いらしい」というのもランタイムをDLLに内包してしまうことが必ずしも良いことではなく、使いまわしできるものであれば、使い回しをしたほうが実行環境にやさしい(例えばメモリ使用量)ですし、環境の変化にも対応しやすくなるので、内包してしまうこと自体があまり無いからです

 

話は変わってC++Builderのように内包したものが作りやすくなっているものもありますので、可能であれば設計段階から開発環境を含めて検討したいところだったりはしますね(現実は無理に近いことですけど)

 

あとは動作確認をよく行ってくださいね

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません