C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: C#とC++の住み分けについて


(過去ログ 80 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■47311 / inTopicNo.1)  C#とC++の住み分けについて
  
□投稿者/ H96 (8回)-(2010/02/25(Thu) 18:07:23)

分類:[.NET 全般] 

教えて頂きたいことがあります.

C#でGUIを作成する場合,ボタンクリックなどのイベントで画像処理を実行する場合
C++とC#のどちらでその処理を描けばいいのでしょうか??

もちろん,コーディングの仕方によって実行速度は変わるものなのでしょうが,
一般的にどうするべきなのでしょうか?
C#とC++の住み分け的な考え方があるのでしょうか??

私は趣味でプログラムを書いているのですが,どういう書き方が最適な方法なのかが分かりません.
もちろん,「最適」なんてものは,目的によって変わるのでしょうが・・・・.

宜しくお願いします.
引用返信 編集キー/
■47315 / inTopicNo.2)  Re[1]: C#とC++の住み分けについて
□投稿者/ 渋木宏明(ひどり) (1284回)-(2010/02/25(Thu) 19:06:11)
渋木宏明(ひどり) さんの Web サイト
> 一般的にどうするべきなのでしょうか?

逆に質問ですが、2つの言語を使い分けて書かなければならない理由が何かあるんですか?

理由が無いなら、C# か C++ のどちらか一方で書いた方が、2つの言語を組み合わせたときに発生する細かい問題を考えなくて済みます。

引用返信 編集キー/
■47316 / inTopicNo.3)  Re[2]: C#とC++の住み分けについて
□投稿者/ Jitta on the way (568回)-(2010/02/25(Thu) 19:18:39)
>>一般的にどうするべきなのでしょうか?
>
> 逆に質問ですが、2つの言語を使い分けて書かなければならない理由が何かあるんですか?

C++ の方が速いから、でしょうね。

どれくらいを“速い”とするかは、案件次第。C# のみで作って、遅かったら C++ 化するってのも、趣味レベルならありじゃないかと。実際、C# が速いか遅いかもわからないなら、計測は大事ではないでしょうか。
引用返信 編集キー/
■47321 / inTopicNo.4)  Re[1]: C#とC++の住み分けについて
□投稿者/ とっちゃん (480回)-(2010/02/25(Thu) 20:03:35)
とっちゃん さんの Web サイト
No47311 (H96 さん) に返信
> もちろん,コーディングの仕方によって実行速度は変わるものなのでしょうが,
> 一般的にどうするべきなのでしょうか?
> C#とC++の住み分け的な考え方があるのでしょうか??
>
全部C++ vs 全部C# であれば実行速度に差が出ると思いますが
そうではないのなら、多分変わらない気がします。

C++に深い理解がありなんでも書けるけどC#もやってみたいのならともかく
そうではないのなら、どちらか一方に絞ったほうがいいと思います。

現在の日本でかつWindows系であるならC++は新たに学ぶ材料としては
いささか厳しいとは思いますが。。。

昔どこかの誰かがこんなことを言っていました。
「二兎追うものは一兎も得ず」

引用返信 編集キー/
■47322 / inTopicNo.5)  Re[2]: C#とC++の住み分けについて
□投稿者/ みきぬ (809回)-(2010/02/25(Thu) 20:50:18)
・修得の容易なほうで、全部(多くの場合は C# かしら)
・GUI 部分を C# + 画像処理の部分を C++

のどっちかかなあ。画像処理の内容にもよるかもだけど。
引用返信 編集キー/
■47336 / inTopicNo.6)  Re[3]: C#とC++の住み分けについて
□投稿者/ biac (175回)-(2010/02/26(Fri) 12:39:51)
biac さんの Web サイト
> のどっちかかなあ。画像処理の内容にもよるかもだけど。

画像処理を .NET Framework のクラスライブラリにやらせるんだったら、大差無い気がする。
引用返信 編集キー/
■47342 / inTopicNo.7)  Re[4]: C#とC++の住み分けについて
□投稿者/ H96 (10回)-(2010/02/26(Fri) 14:30:40)
多くの指摘ありがとうございます。

私がC#を使いたかった理由は、GUIをExpressionBlendを使って作成すると、マウスクリックなどのイベントを記述したソースコードがC#で吐き出されるためです。
でも、イベントでの処理内容的には、速度を求める処理(画像処理:二値化、画像の正対、トラッキングなど)で、既にC++で書かれたものがあります。
最初は、CLI/C++を使って、C#とC++をつなげようとしてのですが上手くいかず、最終的には、参考書に載っていた、
「C++とC#で同じメモリの場所を参照させて値のやり取りをする」といった手段をとりました。
ただ、出来たはいいのですが、色々とややこしい上にやり方的に気持ち悪いので作り変えることに決めました。

一般的にも、C++とC#で値をやり取りするようなプログラムはある気がするので、
速度なども踏まえた上で、他の人はどのようにC++とC#を使い分けているのかが知りたくて
今回は質問させていただきました。

みなさんのアドバイスを聞いていると、できるだけ言語を絞ったほうが良いのかなという気がしました。

もし、上記の私の記述を見て、アドバイスしていただけることがあるなら、
アドバイスしていただけると幸いです。
引用返信 編集キー/
■47344 / inTopicNo.8)  Re[5]: C#とC++の住み分けについて
□投稿者/ 渋木宏明(ひどり) (1286回)-(2010/02/26(Fri) 15:50:25)
渋木宏明(ひどり) さんの Web サイト
> 一般的にも、C++とC#で値をやり取りするようなプログラムはある気がするので、

無くはないです。

> みなさんのアドバイスを聞いていると、できるだけ言語を絞ったほうが良いのかなという気がしました。

決して「使い分けしない方がいい」という訳ではありません。

ですが、前述したように、使い分けに関する諸問題(マーシャリングなど)を理解しないままに手を出すと、むしろ悪い結果になってしまう場合もあるのです。

引用返信 編集キー/
■47360 / inTopicNo.9)  Re[6]: C#とC++の住み分けについて
□投稿者/ H96 (11回)-(2010/02/27(Sat) 18:31:01)
回答ありがとうございます.

知識をつけて,しっかり設計してからプログラムを組もうと思います.
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -