大量のデータを扱いやすくするために、Linuxで作ったC++プログラムをWindowsへ移行しました。
ただ単にプログラムがWindowsでも起動するようにするのは思ったよりは手間取りませんでした。
Visual Studioで新しいプロジェクトを作成し、Linuxで作成したC++ファイルをすべて既存のファイルで読み込んで、ビルドするだけです。
もちろん、Linuxではコンパイルが通っていたのに、Windowsだとうまくいかなかったことがありました。
私の場合は、全角のスペースがコメントアウトに入ってたせいで起こったエラーだったり、文字列のスタックを必要最低限に設定していたのが足りないとみなされたりして起こったエラーです。前者は全角スペースをすべて削除、後者は配列数の増加させたら通りました。
Linuxで使用していたバッチファイルはCygwinを使えば利用することができました。Windowsではファイル名やフォルダ名に:が使えないなどといった部分を修正すれば問題なく使えました。
ここまでは良いのですが、問題は処理速度です。
なんと処理速度がLinux時の4倍ほどになってしまいました。
試しにCygwinでなくてコマンドプロンプト用にバッチを書いて試してみても処理速度は遅いままでした。
これでは大量のシーケンスファイルに処理をほどこすときには日が暮れてしまいます。
まさかこんなに遅くなるとは思いませんでした。なんでWindowsだとこんなに遅くなってしまうんでしょう。
とにかく開発はLinuxで行った方が効率が良いということがわかりました。
やっぱり、VMwareのハードディスク容量を増量しないとですかね。いろいろと試してみたんですが、なかなかうまくいかなくてあきらめかけていましたが、もう少し粘ってみようと思います。