拡張機能を使用することにより,効率の良いオブジェクトを生成することができます。しかし,拡張機能はRH850ファミリに則したもので,他に利用するためには修正が必要になる場合があります。
ここでは,他のCコンパイラからCC-RHへの移植と,CC-RHから他のCコンパイラへの移植の2つの場合について,その方法を説明します。
 
<他のCコンパイラからCC-RH>
| 
- | #pragma注他のCコンパイラが#pragmaをサポートしている場合は,Cソースを修正する必要があります。修正方法は,そのCコンパイラの仕様によって検討します。
 | 
| 
- | 拡張仕様他のCコンパイラがキーワードを追加するなどの仕様の拡張を行っている場合は,修正する必要があります。修正方法はそのCコンパイラの仕様によって検討します。
 | 
| 
注 | C90およびC99でサポートされている前処理指令の1つで,#pragmaに続く文字列をコンパイラへの指令として認識させるものです。その指令がコンパイラによってサポートされていなければ,#pragma指令は無視され,コンパイルが続けられて正常に終了します。 | 
 
<CC-RHから他のCコンパイラ>
| 
- | CC-RHは,拡張機能としてキーワードの追加を行っているため,他のCコンパイラへ移植するためには,キーワードを削除するか,#ifdefで切り分けなければなりません。 | 
| #ifdef __CCRH__ #define interrupt       /*interrupt関数を通常の関数にします*/ #endif | 
 
| #ifdef __v850e3v5__ #define _Bool char      /*_Bool型変数をchar型変数にします*/ #endif |