12.07.2015 Views

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

コーディング 慣 行イ ン ラ イ ン 関 数 が 複 数 のフ ァ イ ルで 使 用 さ れる 場 合 、 その 定 義 は 通 常 はヘ ッダ フ ァ イ ルに 配 置 さ れます。非 イ ン ラ イ ン 関 数 の 定 義 をヘ ッ ダ フ ァ イ ルに 配 置 し ないで 下 さ い。 変 換 単 位ご と に 関 数 が 作 成 さ れる こ と があ り ます。 非 インライン 関 数 が extern 関 数 であ る 場 合 は、 リ ン ク 時 にシンボルの 重 複 が 生 じ ます。 非 インライン 関 数 がstatic であ る 場 合 は、 不 要 な コー ド の 重 複 が 生 じ る 場 合 があ り ます。C++ の 構 造 体 、 ク ラ ス、 ま たは 共 用 体 の 宣 言 で 定 義 さ れた メ ンバ 関 数 は、 暗黙 的 に イ ン ラ イ ン 展 開 さ れます。 これらは inline キーワード または __inlineキーワー ド を 使 用 し て 宣 言 さ れた 場 合 と 同 様 に 処 理 さ れます。インライン 関 数 は、 明 示 的 に static として 宣 言 されていない 限 り、extern リンケージを 持 っています。 インライン 関 数 を static と し て 宣 言 する 場 合 は、 関数 のア ウ ト オブラ イ ン コ ピーがその 変 換 単 位 で 一 意 にな る よ う にする 必 要 があるため、 インライン 関 数 を static と し て 宣 言 する と 、 不 要 な コー ド の 重 複 が生 じる 場 合 があ り ます。コンパイラは、 関 数 をインライン 展 開 できない 場 合 、 およびインライン 展 開し ない 場 合 に、 関 数 のア ウ ト オブラ イ ン コ ピーへの 通 常 の 呼 び 出 し を 生 成 します。関 数 を 使 用 するすべての 変 換 単 位 で 関 数 を 定 義 する とい う 要 件 は、 つま り、コンパイラがすべての extern インライン 関 数 のアウトオブラインコピーを 生成 する 必 要 がない こ と を 意 味 し ます。 コンパイラが extern インライン 関 数 のア ウ ト オブ ラ イ ン コ ピーを 生 成 する 場 合 は 共 通 グループを 使 用 する ため、 リンカは 重 複 を 削 除 して、 異 なるオブジェ ク ト フ ァ イルの 同 じアウ ト オブラ イン 関 数 に 1 つのコ ピーのみを 保 持 し ます (『リンカユーザガイド』 の 「 共 通 グループま たは 共 通 セ ク シ ョ ンの 削 除 」 (ページ 3-12) を 参 照 し て 下 さ い)。C99 モード外 部 リ ン ケージ を 持 つ C99 インライン 関 数 の 規 則 は C++ の 規 則 と は 異 な り ます。 C99 は イ ン ラ イ ン 定 義 と 外 部 定 義 を 区 別 し ます。 インライン 関 数 が 定 義 されてい る 任 意 の 変 換 単 位 において、 イ ン ラ イ ン 関 数 が extern ではな く inlineを 使 用 して 常 に 宣 言 されている 場 合 、 それはインラ イン 定 義 にな り ます。 それ 以 外 の 場 合 は 外 部 定 義 にな り ます。 これらのインライン 定 義 は、--no_inlineが 使 用 されている 場 合 であってもアウ トオブラインコピーの 生 成 には 使 用 されません。各 イ ン ラ イ ン 関 数 を 使 用 する 場 合 は、 同 じ 変 換 単 位 の 定 義 (イ ン ラ イ ン 定 義ま たは 外 部 定 義 ) を 使 用 し て イ ン ラ イ ン 展 開 さ れる か、 外 部 定 義 の 呼 び 出 しが 行 われます。 イ ン ラ イ ン 関 数 を 使 用 する 場 合 、 変 換 単 位 に 1 つの 外 部 定 義 の5-24 Copyright © 2002-2010 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0205IJNon-Confidential, ID 100419

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!