Windows用のプログラムをLinuxで使用できるものに書き変えるには?

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
機械工学科大学生
記事: 3
登録日時: 11年前

Windows用のプログラムをLinuxで使用できるものに書き変えるには?

#1

投稿記事 by 機械工学科大学生 » 10年前

以下のWindows用のサンプルプログラムを書き変えLinuxで使用したいです。
 先日掲示板でご質問をさせていただきfopen,scanf,fclose等を用いプログラムの書き換えができそうであるという
ご回答いただき書き換えを行っていました。
 しかしながら私自身プログラムの学習を始めてから半年も経たないないため書き換え作業に手も足もでませんでした。
具体的にはサンプルプログラム内のcom_Open,com_Send,com_SendString,com_ReadLine,com_ReadPacket,com_Close
がそれぞれ何を行っているのかが分からないためどのようにかきかえたらよいのかが分かりません。

プログラムの書き換えはWindows内のVC++ 2008EEを使用しております。

書き変えに関し,ご教授よろしくお願いいたします。

コード:


BOOL com_Open(LPCTSTR comName)
{
	HANDLE hCom;
	hCom = CreateFile(comName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,  FILE_ATTRIBUTE_NORMAL, NULL );
	if(hCom == INVALID_HANDLE_VALUE){
		return FALSE;
	}
	s_hCom = hCom;
	return TRUE;
}


VOID com_Close()
{
	CloseHandle(s_hCom);
	s_hCom = NULL;
}
最後に編集したユーザー 機械工学科大学生 on 2014年10月14日(火) 14:03 [ 編集 1 回目 ]

顔芸

Re: Windows用のプログラムをLinuxで使用できるものに書き変えるには?

#2

投稿記事 by 顔芸 » 10年前

それぞれの関数をどう使うのか,知識がなくてちょっとよくわからないのですが,
単純にファイルの開閉や読み書きがしたいなら関数のインタフェースだけそろえて,
実装にはlinuxで使用可能な関数やデータ構造を用いればよいのではないでしょうか.

適当にぐぐったら出てきたのですが参考になりませんかね
libusb
http://sourceforge.net/projects/libusb/ ... p_redirect

試しにダウンロードしたらlibusb-1.0.9/libusb/osにwindowsやlinux用のインタフェースが
用意されているようなので,見比べてみられてはいかがでしょう.(同一のインタフェースでは
なさそうなので直接比較して良いものかどうかは不明ですが・・)

それと,
プログラムの書き換えはWindows内のVC++ 2008EEを使用しております。
これからlinux用にソースを書き換えるというのならlinux用のデバッグ環境を用意した方が
よいのではないでしょうか.(仮想マシンを用いる等して.)

参考までに.

VirtualBox
https://www.virtualbox.org/

VMware Player
https://www.vmware.com/jp/

機械工学科大学生
記事: 3
登録日時: 11年前

Re: Windows用のプログラムをLinuxで使用できるものに書き変えるには?

#3

投稿記事 by 機械工学科大学生 » 10年前

ご回答ありがとうございます。
linuxで使用可能な関数やデータ構造を参考にしようと思いましたが,
インターフェースが異なるため比較することが難しくなっております。
プログラムの使用を行うデバイスは6軸モーションセンサのため,それに
似たようなプログラムも見てみようと思います。


環境に関しての助言ありがとうございます。
linux用のデバック環境は参考にさせていただき用意をしたいと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る