• ベストアンサー

CプログラムをUNIXで使いたい

 メーカーで解析の仕事をしている者です。  解析用コンピュータのOSは「IRIX」です。またそれとは別に自分のデスクにパソコン(Windows2000)があります。  解析ソフトからの出力ファイルを使って計算するプログラムをC言語で作成して、「Windowsのパソコンで」使用しています。  WindowsのパソコンにCコンパイラは入っていますが、解析用コンピュータには入っていないので仕方なくそうしています。  解析用コンピュータでこのプログラムが使えれば便利なのですが、できないため現状は計算するたびに何度も何度も行ったり来たりしなければならず、とても不便です。  解析用コンピュータにCコンパイラを導入するのは結構なお金がかかるという理由で難しい状況です。  何か良い方法はないでしょうか。教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#168973
noname#168973
回答No.6

#4です。 > 書き足らずで申し訳ありませんが、今まさにその方法でやっていると思います。 私が言いたかったのは、ちょっと違います。「Windows *から* IRIX *を* 遠隔操作できる」との事だったので、下記の通り考えました。 (1) Windows 上で端末(例えば TeraTerm 等)を起動する(以後「ローカル端末」)。 (2) ローカル端末より、IRIX に遠隔でログインする(以後、遠隔でログインしたIRIXを「リモートホスト」)。 (3) 端末ソフトには大抵「ログの保存」機能があるので、このログ保存を開始した状態で、リモートホスト上の解析ソフトを実行する。 (4) (3)の結果、解析結果が画面上に表示された(流れた)なら、それは ローカルの(ログ)ファイルとして保存される。 (5) ログを停止して、ローカルのログファイルを、Windows 上の Cプログラムで計算。 -- もしも、解析結果が画面に流れず、最初からファイルに落ちるのなら、ローカル側(Windows側)か、リモート側(IRIX側)のどちらかに ftpd 等を動かしておき、それとは逆側で ftp client 等を起動して転送する。 もしくは、ローカル端末でログを開始して、リモートホストで cat コマンド等を使って結果のファイルを画面に出力して、そのログをとっても良い。 -- 何れにしても、自分はローカル側に居るだけで、決してリモート側まで歩いていく必要はありません("ローカル"や"リモート"ってややこしいですね^^ でも、この概念は頭に入れておかれて損は無いと思います)。 == 最後に、gcc の HOME 以下への install ですが、google 等で、「gcc configure prefix」などと検索すると、色々な手がかりが見付かると思います。

eliteyoshi
質問者

お礼

何度もご回答ありがとうございます。 遠隔操作については、まだ知識不足でまだできていません。 やはりIRIXでプログラムを使うのが一番便利なのでHOME以下へgccをインストールするか、クロスコンパイルを検討したいと思います。

その他の回答 (5)

  • ceita
  • ベストアンサー率24% (304/1218)
回答No.5

インストールが禁止されているとの事ですので、 クロスコンパイルできるか調査してみてはいかがでしょうか。

eliteyoshi
質問者

お礼

何度もありがとうございます。 「クロスコンパイル」の言葉自体初めて聞いたので調べてみます。

noname#168973
noname#168973
回答No.4

不便ですね。同情します^^) 色んな方法があると思いますが、やはり一番は #1 さんも仰られてる通り、Windows2000側からIRIX側を操作する事と思います(その回答で、IRIXからWindowsを遠隔操作できないと仰られていますが、WindowsからIRIXを遠隔操作できればいいのですよ)。 もし、解析ソフトの結果がテキストなら、Windows上の端末でログを採れば、ローカル(Windows)のファイルとして結果を取得できると思います。 バイナリーなら、Windows側に ftpd、sshd 等の、何しかremote より passive にファイルを受けれるもの(server/daemon)を用意してやれば、IRIX上で作成したファイルをWindowsの端末から操作して、Windows側に転送できると思います(最も、IRIX上に ftp や ssh 等のclient が、元から備わっている事が必要ですが... IRIXは詳しくは知りませんが、コンパイラーは無くてもftp clientぐらいはありそうに思います)。 後、他に思いつく方法としては、もし 結果がテキストなら、古き良き UNIX を懐かしんで^^) sh, sed, awk 等を使って、IRIX 上だけで処理するのも一つの手です(これらも、IRIX が UNIX互換を言うなら在っても良いと思うのですが... ちょっと この C言語の話題からは外れるが...) 最後に、gcc は 別に system wide な権限が無くても、例えば自分の HOME 以下に install することもできますよ。それであれば管理者にとやかく言われないと思うのですが(但し、最初にコンパイラーの無いシステムに入れる場合は、gcc をコンパイルするためのコンパイラーを用意する必要があると思うので、それのセットアップに system wide な権限が必要かも知れませんが....) 頑張ってください^^)

eliteyoshi
質問者

お礼

ご回答ありがとうございます。 >もし、解析ソフトの結果がテキストなら、Windows上の端末でログを採れば、ローカル(Windows)のファイルとして結果を取得できると思います。 書き足らずで申し訳ありませんが、今まさにその方法でやっていると思います。 IRIX(解析ソフトから計算結果のテキストファイル出力) ↓ <席を移動> Windows(ネットワークでファイルを入手) ↓ Windows(Cプログラムで計算⇒計算結果をファイル出力) ↓ Windows(計算結果ファイルをIRIXへ転送) ↓ <席を移動> IRIX(転送したファイル内容をもとに解析ソフトの操作) ↓ 最初に戻る 以上のような方法をアドバイスしていただいたのでしょうか? この一連の作業を1日に何度も繰り返しています。これがすべてIRIXでできれば、席を移動する必要がなく、非常に便利なので何か良い方法はないかと質問させていただきました。 また自分の HOME 以下にインストールできるとは考えもしなかったので調べてみます。さらに#5の方のご回答のようにクロスコンパイルができるかどうかも調べてみます。

  • ceita
  • ベストアンサー率24% (304/1218)
回答No.3

GCCというコンパイラはフリーで、 もしかしたらIRIXでも動くかもしれません。 http://gcc.gnu.org/install/specific.html#mips-sgi-irix5 ftp://ftp.thewrittenword.com/packages/by-name/gcc-3.4.3/mips-sgi-irix6.5/ 残念ながら私にはこのぐらいしかわかりません。

eliteyoshi
質問者

お礼

ご回答ありがとうございます。 GCCの使用は考えていましたが、動作保証がしっかりした有料ソフトしかインストールしてはならないという管理者の意向から、勝手にインストールできません。

回答No.2

GCC(GNU C-compiler)なら無償です。IRIXでも使えるはず。

eliteyoshi
質問者

お礼

ご回答ありがとうございます。 GCCの使用は考えていましたが、動作保証がしっかりした有料ソフトしかインストールしてはならないという管理者の意向から、勝手にインストールできません。

回答No.1

IRIX のマシンって社内のネットワークにつながっていないのですか? 本質的な解決策ではないですが、Windows2000に端末エミュレータをインストールして IRIX を遠隔操作し、Windows2000で作成したプログラムをIRIXに転送し、移動せずに遠隔操作で実行するようにしては?

eliteyoshi
質問者

お礼

ご回答ありがとうございます。 ネットワークにつながっていますが、セキュリティの関係でIRIXマシンからWindowsマシンを遠隔操作することができません。しかし、逆はできます。 とても変な質問ですが、Linuxなどでコンパイルした実行ファイルはIRIXで使えないですよね?

関連するQ&A