[H8-ML(591)] 続 rand( )
From: "小木曽" <t-ogiso@xxxxxxxxxxxxxxxxxxxxxxx>
Date: 2000年04月13日(木)18時06分14秒
おはようございます。小木曽です。
(でも今は夕方です。)

いまだに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
===================================

スレッド概略
[表示中](起点)


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


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