[H8-ML(5843)] Re: sprintfの結果が表示されない
From: hamayan <hamayan@xxxxxxxxxxxxxxxx>
Date: 2006年02月19日(日)14時29分45秒
hamayan です。

只今、E8とH8/Tiny(3694)を繋いで遊んでいるので、試してみました。

#include <stdio.h>
#include <stdlib.h>

 char ans_str[30];
 char siki[] = "+62.9";
 double answer    = 321.45;
 
 answer = answer + atof(siki);
 sprintf(ans_str, "%+f", answer);

HEWと言うか、コンパイラバージョンは6です。
sprintfの後ろでブレーク張って、watchウインドウを確認する限り
正常に384.35の文字列が出来上がっています。

ちょっと確認したいのが、スタック領域は充分に取っていますで
しょうか?。
HEW付属のスタック解析ツールを使うと、atofが386byte、spritf
が652byteのスタックを必用としています。つまり上のプログラム
だけで700byte程度のスタック領域の確保が必要です。

HEW2をお使いのようですが、現在の最新の評価版にはスタック解析
ツールが付属していたりして、利用しても損は無いと思いますので、
一度試してみたら如何ですか。
上記の実行なら、シミュレータでも容易に確認できると思います。

あと、E8エミュレータも便利です。こちらもお勧め。
スレッド概略
[5833(R)](起点)
 └[表示中]
   ├[5844(1)]
   └[5845(2)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]