tool_def.h

開発環境に依存する定義を行います。開発環境の特性をあらわす値などをマクロ定義して環境の差異を吸収します。

基本的な型

1byte, 2byte, 4byte, 8byteの整数型をマクロ定義します。最近になって8byte整数にVisualDSP++が対応したので楽になりました。

偶然VisualDSP++3.5コンパイラの型の大きさがm68K実装に使われているコンパイラのそれと同じだったのでconfig\m68k\tool_def.hの値をそのまま借用しています。

/*
 *  コンパイラ依存のデータ型の定義
 */
#define _int8_          char            /* 8ビットの整数型 */
#define _int16_         short           /* 16ビットの整数型 */
#define _int32_         int             /* 32ビットの整数型 */
#define _int64_         long long       /* 64ビットの整数型 */

inline, Inline

doc\config.txtによると、inlineはインライン展開される関数の頭につけられ、Inlineはそのファイル内部でだけ展開される関数の頭につけられます。

VisualDSP++3.5コンパイラは予約語inlineに対応していますが、Inlineに対応する機能を持っていません。そのため、Inlineはマクロ定義を空にしています。

        // ファイル内にしか適用しないインライン化
#define Inline  static inline

asm, Asm

doc\config.txtによると、asmはインラインアセンブラの予約語として扱われ、Asmは最適化を行わないインラインアセンブラの予約語として扱われます。VisualDSP++3.5コンパイラは予約語asmに対応します。また、Asmに対応するのはasm volatileです。

        // 最適化を施さないasm化
#define Asm             asm volatile
Blackfin空挺団 | プログラム | EZ-KIT | コア&ペリフェラル | TOPPERS/JSP | こぼれ話 | DSP掲示板