エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
C言語でコンパイル時刻をプログラム内変数の初期値として代入する/コンパイル時刻をランダムシードに使う - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
C言語でコンパイル時刻をプログラム内変数の初期値として代入する/コンパイル時刻をランダムシードに使う - Qiita
はじめに スタンドアロンのマイコン環境を想定 タイトルにC言語と書いてますが想定はマイコンボード、特... はじめに スタンドアロンのマイコン環境を想定 タイトルにC言語と書いてますが想定はマイコンボード、特にArduinoです。 マイコンで乱数を使用する処理を含む場合、疑似乱数の生成方法の影響により同じプログラムを複数のマイコンに書き込んでも同じ値を生成してしまい、結果的に乱数として望ましい動作をしないという課題があります。 未接続のADコンバータをシード値にするなどの方法もありますが、今回はパソコンでコンパイルした時刻をプログラム内に取り入れる方法を紹介し、それをシード値として使用しすることでコンパイルごとに乱数値がばらつくようにします。 なお、コンパイル時刻が異なるプログラム同士では異なる乱数値を生成しますが、秒単位で同時刻にコンパイルしたり、書き込み済みのマイコンをリセットした場合は同じ値を生成します。 また、コンパイル後のファイルを複数のマイコンに書き込む場合もコンパイル時刻に依存する