電子書籍の厳選無料作品が豊富!

LINUX用CプログラムのWindows移植

LINUX用C言語プログラムをWindowsに移植することとなりました。置き換えの際、C++かC#のどちらかに書き換えなければならないのですが、どちらを選択するか悩んでいます。

元のC言語プログラムがかなり煩雑なので、できるだけ形や構造を変えずに作りたく、難易度が高くない方を選択したいです。トータル行数は15000行程度です。主な命令はファイル操作や演算です。演算速度は特に気にかけなくて問題ないです。

C++なら元がCなので、そのままコンパイラにかけ、コンパイル時のエラーを一つずつ潰していくやり方でそれほど負荷なく移植できるでしょうか?ただし、負荷や難易度に大差がないなら、いっそC#に書き換えた方が最近のトレンドに近しくなるとも思っています。

初心者なのでご意見頂けませんでしょうか?
よろしくお願い致します。

A 回答 (4件)

「あきらめて C でいく」という選択肢はない?

    • good
    • 0

MSYS2下のGCCを使えば、簡単でっせ。


ただし、出来た実行ファイルはMSYS2下のDLLを呼び出すことが多いです(場合によりけりcygwinほどではない)。
特に、OpenGL関係のプログラムのソースコードはgccで再コンパイルするだけで、ほとんどそのまま動きます。
重いVisialStudioを使うより、賢明ですわ。
    • good
    • 1

元のプログラムの内容による、としか言いようがありません。



元が、stdio.h くらいしか使ってなかったら、C++でほぼそのまま動くでしょう。
でもシステムコールとか、X Window とかいった、Windowsに無い機能を使っていたら、簡単にはできません。

C#はCとはまったく違うので、「元プログラムの内容を理解して、C#で新たに書き直す」くらいの作業が必要です。
    • good
    • 0

まあ、文法的にみたら、C++のほうがコンパイルエラーが少なそうで、移植の難易度は低いと思います。


なお、マイクロソフトも「できるだけC#を使いましょう。どうしてもダメなときはC++で」と言っていますので、将来性を考えてC#を選ぶってのも有りかもしれません。

なお、C#の場合、楽なコーディングができるようにイロイロと命令が強化されてきています。
元のコードが何をやっているのか?を理解してC#用に書き換えるのもいいかもしれません。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!