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.

コーディング 慣 行 の 浮 動 小 数 点 環 境 ア ク セスC99 標 準 ヘ ッ ダ フ ァ イ ル は、 数 値 プロ グ ラ ミ ングのために IEEE 754対 応 の 浮 動 小 数 点 環 境 へのア ク セス を 提 供 し ます。 ラ イ ブ ラ リ では、 浮 動 小数 点 の 状 態 を 管 理 し、 制 御 する ために 2 つの 型 および 多 数 のマ ク ロ と 関 数 が提 供 さ れています。サポー ト さ れる 新 し い 型 は 以 下 の と お り です。• fenv_t。 浮 動 小 数 点 環 境 全 体 を 表 し ます。• fexcept_t。 浮 動 小 数 点 状 態 を 表 し ます。サポー ト される 新 しいマク ロは 以 下 のとおり です。• FE_DIVBYZERO, FE_INEXACT、 FE_INVALID、 FE_OVERFLOW、 および FE_UNDERFLOW。 浮動 小 数 点 の 例 外 を 管 理 し ます。• FE_DOWNWARD、 FE_TONEAREST、 FE_TOWARDZERO、 FE_UPWARD。 指 定 された 方 向 の 丸めを 管 理 します。• FE_DFL_ENV。 デフ ォル ト の 浮 動 小 数 点 環 境 を 表 し ます。新 しい 関 数 には 以 下 が 含 まれます。int feclearexcept(int ex); // clear floating-point exceptions selected by exint feraiseexcept(int ex); // raise floating point exceptions selected by exint fetestexcept(int ex); // test floating point exceptions selected by xint fegetround(void); // return the current rounding modeint fesetround(int mode); // set the current rounding mode given by modeint fegetenv(fenv_t *penv); return the floating-point environment in penvint fesetenv(const fenv_t *penv); // set the floating-point environment to penv の snprintf 関 数 フ ァ ミ リC90 標 準 ヘ ッ ダ にある sprintf 関 数 フ ァ ミ リ の 使 用 は 危 険 な 場 合 があります。 以 下 のス テー ト メ ン トsprintf(buffer, size, "Error %d: Cannot open file '%s'", errno, filename);では、 変 数 size は buffer に 挿 入 する 文 字 の 最 小 値 を 指 定 し ます。 その 結 果 、文 字 列 に 割 り 当 て ら れた メ モ リ に 収 ま る 文 字 数 よ り も 多 く の 文 字 数 が 出 力 される 場 合 があ り ます。 の C99 バージ ョ ンにあ る snprintf 関 数 は、 sprintf 関 数 の 安 全 なバージョンであり、バッファのオーバーランを 防 ぎます。 以 下 のス テー ト メ ン トsnprintf(buffer, size, "Error %d: Cannot open file '%s'", errno, filename);<strong>ARM</strong> DUI 0205IJ Copyright © 2002-2010 <strong>ARM</strong> Limited. All rights reserved. 5-59ID 100419Non-Confidential,

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

Saved successfully!

Ooh no, something went wrong!