プロが教える店舗&オフィスのセキュリティ対策術

有識者の方々のお知恵を拝借させて頂きたく、宜しくお願いいたします。

HP-UX上のプログラムがANSI/Cで作成されています。
それをSolaris、RHELに移行する互換コンパイラはあるのでしょうか。
もしくは移行するための代替策があれば、実際に行ったことのある方の知見をお教え頂ければ幸いです。
HP-UX上でSolaris、RHEL移行用にコンパイルをするという手立てがあるなら、そうした手もありかと思っています。

尚、当方では、Solaris、RHEL→HP-UXはHPを探し、日立やIBMでは移行サービスがあること、非互換検出ツールがあることは知り得ています。

A 回答 (3件)

> HP-UX上のプログラムがANSI/Cで作成されています。


> それをSolaris、RHELに移行する互換コンパイラはあるのでしょうか。

本当にANSI/Cで書かれているソースコードなら多くのCコンパイラで再構築すれば使えると思いますよ。
SolarisやRHELならPOSIXまでならANSI/C以外でも互換性あるでしょうし。
HP固有のライブラリ関数使ってたりすれば、その部分で移植作業が必要な場合も考えられますが。


今時ANSI/Cに対応してないCコンパイラなんてほぼないですよ。
ANSI/Cは最も標準的なC言語の規格で、非常に多く(最近のコンパイラでは対応してないコンパイラを知らない)のCコンパイラで利用できますよ。

※昔(ANSI規格以前)は標準的なK&R以外にも色々な方言がありました。WhiteSmithの様にK&Rと互換とした場合の権利的な心配からわざわざ標準とされるK&Rと関数名変えたりしてるCコンパイラすらありましたから。

ANSI C89/ISO C90は1989年・1990年に規格が発行された古い仕様なので、標準では改訂されたISO C99へ対応しているコンパイラもあります。(例えばGCCは標準ではC99。オプションを指定すればC89で使うことができます)
    • good
    • 0
この回答へのお礼

gccでコンパイル行うことが出来そうだということが分かりました。
実際に試してみて、修正箇所は出てくるとは思いますが、完璧な互換性は無いとも思っておりますので、そこは修正していくしかないと考えます。
御丁寧なご回答をして頂き、ありがとうございました。

お礼日時:2011/08/02 21:08

ANSI C準拠のソースがあるならターゲットのコンピュータ上で再コンパイルするのが最も楽かなと思います。


HP-UX上でバイナリまで作らないといけないとなると、gccを使ってクロスコンパイルする、というような事になりそうに思います。
    • good
    • 0
この回答へのお礼

SolarisもしくはRHEL上にソースを持っていき、コンパイルを試みる手が楽そうですね。gccあたりでそれが出来そうであることが分かりましたので、大変参考になりました。
ありがとうございました。

お礼日時:2011/08/02 21:10

ANSI C なら, 最悪 gcc でなんとかなるような気がするんだけど....

    • good
    • 0
この回答へのお礼

gccで出来る、というキーワードを望んでいたところがあったので、気持ちが楽になりました。参考になるご意見を頂き、ありがとうございました。

お礼日時:2011/08/02 21:11

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