人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

GPSで取得した緯度・経度などの情報があり、それはCで書かれていてコンソール等に表示させることは出来るのですが、その情報(緯度・経度)をC#で使いたいのでデータの受け渡しをしたいと思っています。やり方を教えて下さい。

●質問者: kowkow
●カテゴリ:コンピュータ
✍キーワード:C# GPS データ
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● aki73ix
●17ポイント

http://www.hatena.ne.jp/1084006396

Cで書かれたプログラムの出力をC#で使いたいのですが、どうすればよいでしょうか? - 人力検索はてな

URLはダミーです

ちょっとこれだけでは分かりません

・GPSデータがファイルで存在して、Cのプログラムで読み込んで表示するのでしょうか?それともCのプログラムがリアルタイムにデータを吐き出すのでしょうか?

・Cのだすデータをリアルタイムに取得して、そのままC#でリアルタイムに処理しなければならないでしょうか?一度Cのプログラムを動かしてからC#で動かせばよいのでしょうか?

------------------------

・情報ファイルが存在するならCのプログラムをC#に移植した方が効率がいいです、リアルタイムに処理する必要があるのなら、移植しなければ実現は無理です

・一度Cで処理したデータでよいのであればファイルにリダイレクトしてファイル化して fread や ReadFileなどで 読み取ればよいのですが、いかがでしょうか?

◎質問者からの返答

「Cのだすデータをリアルタイムに取得して、そのままC#でリアルタイムに処理しなければならない。」

です。無理でしょうか・・。

移植するならCの関数をC#で使いたいのですが、出来るのでしょうか。


2 ● popuri_ki
●17ポイント

http://www.atmarkit.co.jp/fdotnet/special/dotnet_sdk/dotnetsdk08...

特集:.NET Framework SDKで始める.NETプログラミング(前編) 7.Hello World展覧会(4)-マネージド C++-

マネージドCで Cの関数をマネージドクラスを作ってCの関数をラッピングするといけます。 僕もこの方法でC#からC++のクラス(ソース)をMC++でラッピングして使いました。


3 ● virus
●18ポイント

http://www.hatena.ne.jp/

はてな

C#限定ではないですが・・・

先にC#で書いたアプリを起動して、そのアプリからCで書かれたソフトを起動するのが可能であるなら、Cアプリ起動時にパイプ接続(stdout をリダイレクト)して取り込めば良いと思います。

しかしソースがあるのなら、移植した方が確実だと思います。

C# と言っても、元々がC+++αみたいなもんだから移植と言うほどの手間はないです。

って、ラッピングは既出ですね(^^ゞ

◎質問者からの返答

なるほどー、ありがとうございます


4 ● aki73ix
●18ポイント

http://homepage2.nifty.com/DSS/WinSys/Win/FileMapping.htm

リアルタイムだとそのままでは無理ですね^^;

・パイプ処理などを使うとCのプログラムの処理が終わってからC#の処理が動き始めます

・データをファイルにはき出させながら処理をする場合、C側のプログラムがファイルを共有しながら、データごとにOpen & Closeを繰り返しながら書き出して、C#側で共有しながらポインタを保存して読み出し専用でアクセスしなければなりません

1.プロセス間通信をするコードをC側に追加してデータをC#に投げる

2.メモリマップドファイルするコードをC側に追加してデータをC#と共有してアクセス

3.Windowsメッセージを投げるコードをC側に追加してデータをC#で受け取る

4.localhostでデータを投げるTCPかUDP ClientプログラムをC側に追加して、C#側でサーバプログラムを作って受け取る

と言う方法がありますが、いっそC#にコードを書き換えて移植してしまった方がいいと思います。CのソースがそのままC#で使える方法は知らなかったので(2の方の回答でいけるかもしれませんが、よくわかりせん)書き直さなければならないのではないでしょうか

VC++のMFCアプリケーションに移植ならそれほど手間はかからないと思うのですが、C#上でCのソースを扱ったことが無いので何ともいえません

◎質問者からの返答

みなさんありがとうございました。

方向性がわかりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ