Archive for 11月, 2009

11月 10th, 2009

gccのバイトオーダボ /エンディアン方? ジェネレートオプショボ

Posted in Linux by admin

 gcc4.1.2ではいぜ つかぜ CPUアーキテクチャ向けにバイトオーダー方? の違いを吸圏 するオプションが準備されています。Linuxサーバ用途での普圏 ? が高そうな「Intel 386 and AMD x86-64 Options」CPUではオプション自? がありませんが、以? ぜ RISCアーキテクチボ CPU、リトルエンディアボ /ビッグエンディアンどちらのモードにも切り替えられるバイエンディアン方? を採用したCPU向けに用? されています。

ARMS(Advanced RISC Machine) 

-mlittle-endian
    Generate code for a processor running in little-endian mode.
    This is the default for all standard configurations.
-mbig-endian
    Generate code for a processor running in big-endian mode;
    the default is to compile code for a little-endian processor.

iPhone, iPodiPod、ニンテンドボ DS、Docomo、auの携帯電話など、組み込み? 器や
作 電力アプリケーション向けに? ぜ 用いられる32ビットRISC CPUアーキテクチャ。
IA-64(Intel IA-64 architecture) 

-mbig-endian
    Generate code for a big endian target. This is the default for HP-UX.
-mlittle-endian
    Generate code for a little endian target. This is the default for AIX5 and GNU/Linux.

64ビットマイクロプロセッサのアーキテクチャで、Itanium、Itanium 2で採用されている。
MCore(Motorola M*Core processors) 

-mlittle-endian
-mbig-endian
    Generate code for a little endian target.

モトローラぜ RISCアーキテクチボ CPU。組み込み? 器や作 電力アプリケーション向けに? ぜ 用いられる。
IBM RS/6000 and PowerPC 

-mlittle-endian (-mlittle)
    On System V.4 and embedded PowerPC systems compile code for the processor
    in little endian mode. The -mlittle-endian option is the same as -mlittle.
-mbig-endian (-mbig)
    On System V.4 and embedded PowerPC systems compile code for the processor
    in big endian mode. The -mbig-endian option is the same as -mbig.

IBM eServer pSeriesなどで採用されているRISCアーキテクチャのプロセッサ。
SPARC Options

-mlittle-endian
    Generate code for a processor running in little-endian mode.
    It is only available for a few configurations and most notably not on Solaris and Linux. 

サン・マイクロシステムズが開発・製造したRISCベースのマイクロプロセッサ。
MIPS(Microprocessor without Interlocked Pipeline Stage) Options

-EB
    Generate big-endian code.
-EL
    Generate little-endian code. This is the default for `mips*el-*-*' configurations. 

SGIのコンピュータ製品群、機器? み込み分釜 (WindowsCE製品、Cisco Router)、
ゲーム機分釜 (NINTENDO64、Sony PS、PS2、PSP)などで利用されていた
RISCマイクロプロセッサのアーキテクチャ。
ARC Options

-EL
    Compile code for little endian mode. This is the default.
-EB
    Compile code for big endian mode. 

ユーザーカスタマイズ性の? い32ビットの? 理合成可能ぜ RISCプロセッサボ
SH Options

-mb
    Compile code for the processor in big endian mode.
-ml
    Compile code for the processor in little endian mode. 

日? 製? 所(現在はルネサ゜  テクボ ロジに分離、移管)が開発した組み込み? 器甜
32ビットRISCプロセッサー。カーナビやゲーム機(セガサターン? に採用された。

 コンパイラオプションだけで対応した場合の移植性の? さと? 業工数は確かに? いですが、アプリケーションの? 行速度がひどく作 下したという例も出ているようです。もしもこのようなボ ードウェアに? 存したコードの移行が発生した場合でも、ネットワークバイトオーダー? 朏 関数を入れ込むなどソース改修対? を実施した方が良いかも知れません。各ボ ードウェアに対応したラッパー関数を作成すれば、更に移植性の? いものになります。