C++で大苦戦

今日、突如としてC++で書かれたソースコードを使ってプログラムを作らなければならないことになってしまった。
そのコード自体はちゃんとクラス分けがされてて、C++からは使いやすいんだろうけど、C#から使いたい場合はDLLにしないといけない。しかも開発環境はVC#,VC++2008EEのみ。
頑張ったのでメモ。

■新規プロジェクトの作成で「Win32」→「Win32アプリ」、ウィザードで「DLL」か何かを選び、「エクスポート」か何かを選ぶ
■dllmain.cpp に書いていって良い?
■クラスのインスタンスのつくり方が謎。ClassA ca; だけでいいの?
■関数には __declspec(dllexport) を付ける
■モジュール定義ファイル(.def)に EXPORT する関数の名前を書く→オーバーロード関係
■extern "C" をつければ C と同じように名前によって一意に決まる関数となる?
■プロジェクトのプロパティから「リンカ→入力」でモジュール定義ファイルの名前を指定できる
ツールバーからReleaseモードに変えてビルドしないとDebugモードのままになって不都合が生じる(DLLが存在しない(MSVCR90D.dll関係?)エラーが出る)
■マルチスレッドデバッグDLLとかマルチスレッドとかそのあたりが謎(プロジェクトの設定→C/C++→コード生成)
■クラスのエクスポート…?