こんにちは。
まず、VBから呼び出せるdllの形式は、C言語形式だけと思います。dll自体はC++で記述してもよいですが、VBから呼び出す関数は、extern "C"がついたC言語形式にする必要がある筈です。
入力値をdllへ渡しますが単純に引数でやりとりすると長くなるしあふれてしまいます。
「あふれない」ように設計しましょう。可変長なサイズのメモリを渡すのは面倒ですが、渡せます。
配列にしても構造体にしてもものによって使わないときがあるので無駄になりそうです。
無駄が気になる場合は、必要なパラメータだけを受け取るC言語形式の関数をパラメータの全ての組み合わせに対して記述すれば良いです。それぞれの関数がC++関数を呼び出せば比較的スマートになると思います。
しかし、コーディング量が増えるので、無駄になる領域のサイズが巨大でない(例えば数KBytes以下)なら、無駄を承知で渡してしまうこともよくやります。
まず考えたのがvbでファイル(テキスト)に書き出してdllでそれを読み出すという形式ですが
当該DLL関数の呼び出し回数が少ないならこれもありです。一旦テキスト・ファイルへ書き出すと、デバッグがやりやすいです。
大量に呼び出す場合は避けましょう。平均すると1回の呼び出しに数mSec~数10mSecかかる可能性があります。1,000回呼び出すと呼び出しのオーバーヘッドだけで数秒かかる可能性があります。テキスト・ファイルのリード/ライトはメモリのリード/ライトに比べると非常に遅いのです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。