おはようございます。小木曽です。
(でも今は夕方です。)
いまだにrand( )にはまっています。
くぬぎざさんより指摘を受けました。
>> rand( )を使用していますが、思うように乱数は生成されません。
>> 毎回RAND_MAXが出ている様です。
>どういうライブラリを使っているかを詳しく書いて頂か
>ないと、得られる回答も得られないと思いますが。 ・・・ その通りです。!!
>newlib-1.8.0 のコードを見ると、中で static な変数を
>使っていますね。同じ結果が毎回出てしまう原因を強いて
>考えると、静的な変数がRAMじゃないアドレスに配置され
>たらそうなるかな?
コンパイルリンク用バッチファイルです。
PATH=%PATH%;B:\H8\Asm;B:\h8\Ccomp;
A38H staa.mar
CC38H -CPU=300HA -INCLUDE=B:\h8\Ccomp aa.c
L38H -SUBCOMMAND=aa.sub
C38H aa.abs
秋月コンパイル環境を使用しています。
サブミットファイルです。
INPUT staa,aa
OUTPUT aa
PRINT aa
LIB c38hab
START P(200)
EXIT
aa.cファイルです。
#include <stdlib.h>
#include <3048f.h>
unsigned int seed;
void main(void)
{
int scnt;
scntはループカウントです。
seed = scnt;
srand(seed);
fr();
}
int fr(void)
{
int ret;
ret = rand();
retの内容がRAND_MAXが毎回生成される様です。
}
このような使い方をしています。
おかしな所がありましたら指摘をお願い致します。
宜しくお願い致します。
===================================
小木曽 敏
E-mail t-ogiso@xxxxxxxxxxxxxxxxxxxxxxx
NIFTY−SERVE YRF03454
===================================