[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:20130] OS-Versionとプログラムの互換性
-
From:H.Shiozaki
-
Date:Sat, 9 Aug 2003 00:09:40 +0900 (JST)
- Subject: [plamo:20130] OS-Versionとプログラムの互換性
- From: "H.Shiozaki" <sios_hs@xxxxxxxxxxx>
- Date: Sat, 9 Aug 2003 00:08:59 +0900
- Organization: Sios Corp.
汐崎 と申します。
Linux環境で,例えば foo.c をコンパイルしたところ,
添付ファイル linux-version-q1.htm(3.006kB)で示しています様に,
開発環境と動作環境で,Linuxのメージャ番号が異なる場合には,
開発環境より動作環境の方が,新しい場合は動作しますが,
逆の場合には,動作せず,この場合には,たしか,
Segmentation Fault というシステムからお叱りのメッセージを受けて
動作しません(表のX印のところ)。
- - - - -
添付ファイルの「注2)コンパイル方法」の追加説明を以下に記します。
gcc -O2 -o foo-lx__ foo.c libfoo-lx__.a -lm
1)ソースファイル foo.c は,共通に使用します。
2)libfoo-lx__.a の__には20, 22, 24 として,
Linuxバージョン毎にコンパイルしたものを利用する。
3)libfoo.c はやはり共通に使用する。
4)libfoo.cには,例えば,sin(), cos()があり,そのために
コンパイル方法には -lm を付けている。
- - - - -
以上の前提で,質問ですが
Q1) このバージョンが異なれば動作しない理由をもっと理解したいのですが。
(glibc関連とは想像していますが。)
Q2)例えば,Linux-2.2.17で開発した実効ファイル foo-lx22 は,
Linux-2.2.16 から Linux-2.2.0 の環境での実効可能性は,
どう考えれば良いのでしょうか?
Q3) Q2に関連して,できる限り広く対応する為の対策法が有れば
教えて頂けないでしょうか?
- - - -
Q3 に関連して,コンパイルに -static スイッチをつければと考えるのですが。
しかし,libc をスタチックにリンクしても,
1)もし,その処理がlibc内で閉じていれば効果があると思われるが,
2)もし,その処理の為に,カーネル迄アクセスする場合には,
たまには,うまくいく場合もあるかもしれないが,一般的には,
例えば,linux-2.2.17のLibcはそのカーネルを使うように
構成されていると思われるので,そのlibcをスタチクリンクしても,
linux-2.2.0での動作は,基本的には合わないような気がするのです。
そのことを考えると,-static コンパイルオプションの意味が分からなくなっていま
す。
- - -
以上ですが,宜しくお願いします。
(なお,添付のファイルの2番目の表は,完全ではありません。)
- - - - -
FM: 汐崎 廣義 < H.Shiozaki >
E-Mail: sios_hs@yahoo.co.jp
Title: linux-version-q1.htm
Jvs
@ |
JOSeXgF@CFOKC@XF@ |
OS |
Linux-2.4.19 |
Linux-2.2.17 |
Linux-2.0.35 |
Linux-2.4.19 |
|
|
|
Linux-2.2.17 |
X |
|
|
Linux-2.0.35 |
X |
X |
|
PFタt@C |
foo-lx24 |
foo-lx22 |
foo-lx20 |
QFRpC@ |
gcc -O2 -o foo-lx__ foo.c libfoo-lx__.a
-lm i\[X foo.c j |
OSO |
Linux-2.4.19 |
Linux-2.2.17 |
Linux-2.0.35 |
Distribution Name |
Plamo-3.0 |
Vine-2.1 |
Slackware-3.6 |
タt@C |
foo-lx24 |
foo-lx22 |
foo-lx20 |
gcc Version |
2.95.3 20010315 |
@ |
@ |
glibc Version |
@ |
@ |
@ |
make Version |
3.79.1 |
@ |
@ |
ld Version |
2.12.91 20020723 |
@ |
@ |
@ |
@ |
@ |
@ |
|
- Follow-Ups
-
- [plamo:20132] Re: OS-Versionとプログラムの互換性, KOJIMA Mitsuhiro
[検索ページ]
[メール一覧]
Plamo ML 公開システム