Renesas Synergy™

FAQ 3000108 : コンパイルのたびに出力コードが変化する(CC-RL)

Q : 質問

RL78コンパイラCC-RLを使用しています。プログラムやオプションを変更していないのですが、コンパイルするたびに出力コードが変わってしまいます。どうしてこのような現象が起きるのでしょうか?


A : 回答

コンパイラでは、あらかじめ定義されたマクロとして、__DATE__、__TIME__というものがあります。この__DATE__や__TIME__をソースファイル上に記載していると考えられます。
・__DATE__
 ソースファイルの翻訳日付(“Mmm dd yyyy”の形式をもつ文字列定数)。
・__TIME__
 ソース・ファイルの翻訳時間(asctime関数で生成される時間と同じような“hh : mm : ss”の型式をもつ文字列定数)。
これらのマクロを使用していると、コンパイルした際の日付や時間の値になるために、出力コードが変わってきます。

適用製品

e² studio
CS+ (旧 CubeSuite+)
RL78ファミリ用Cコンパイラパッケージ

 

他にご質問がございましたら、リクエストを送信してください