全年全月4日の投稿(時系列順)[35件](2ページ目)
2022年7月 この範囲を新しい順で読む この範囲をファイルに出力する
auの回線が復帰していました。
まずは現場の技術者の皆様に感謝とお疲れ様をお伝えしたいです。
正直、通話依存が高い人は大騒ぎしていましたが、ネットは早々に回復したので通話依存が低い人は「仕方ねーなー」って感じでそれほど気にしてない様子でした。
私は、実家の父母以外、連絡の大半がメール、LINE、SMSですので大きな問題なりませんでした。連絡相手の大半が電話を取れない時が多い方々だからです。
数年前にソフトバンクでも似たようなことがあったのですから、2日で治ったのなら取り立てて大騒ぎしなくてもいいっしょ。
今回の件、誰が悪いとかいう魔女裁判など聞いても意味がありません。こういうのは権限のある人が逃げて逃げにくい人が責任を取らされることが多いからです。現場の技術者に責任を押し付けることなく原因を明らかにしてもらいたいものです。
昭和の時代は上司が盾になって部下を守る感じがありましたが、今は部下を盾に上司が逃げる感じが強いです。必ずしもではありますが、この件に関してはそうならないことを祈ります。
ただ、記者会見などでの上層部の言い訳を聞くと「あーぁ」って感じはします。現場の落ち度であって経営陣はむしろ被害者なんよと聞こえてしまう。問題の原因となったVoLTEを最終的に決めたのは誰なんよと聞きたい。
私個人が現場の技術側を擁護したい気持ちが強いのもありますけど(笑
#雑談
まずは現場の技術者の皆様に感謝とお疲れ様をお伝えしたいです。
正直、通話依存が高い人は大騒ぎしていましたが、ネットは早々に回復したので通話依存が低い人は「仕方ねーなー」って感じでそれほど気にしてない様子でした。
私は、実家の父母以外、連絡の大半がメール、LINE、SMSですので大きな問題なりませんでした。連絡相手の大半が電話を取れない時が多い方々だからです。
数年前にソフトバンクでも似たようなことがあったのですから、2日で治ったのなら取り立てて大騒ぎしなくてもいいっしょ。
今回の件、誰が悪いとかいう魔女裁判など聞いても意味がありません。こういうのは権限のある人が逃げて逃げにくい人が責任を取らされることが多いからです。現場の技術者に責任を押し付けることなく原因を明らかにしてもらいたいものです。
昭和の時代は上司が盾になって部下を守る感じがありましたが、今は部下を盾に上司が逃げる感じが強いです。必ずしもではありますが、この件に関してはそうならないことを祈ります。
ただ、記者会見などでの上層部の言い訳を聞くと「あーぁ」って感じはします。現場の落ち度であって経営陣はむしろ被害者なんよと聞こえてしまう。問題の原因となったVoLTEを最終的に決めたのは誰なんよと聞きたい。
私個人が現場の技術側を擁護したい気持ちが強いのもありますけど(笑
#雑談
2022年8月 この範囲を新しい順で読む この範囲をファイルに出力する
これ、なーんだ!?
ここ数日、右手首に妙な痛みがあったのです。
年齢も年齢だしなぁ~って思っていたのですが、ふと気付く。マウスを握ると机の縁に手首がずーっと当たっている。マウスを動かす際に細かく動く腱がずっと圧迫されています。痛いのは正にココ。試しに肘の下に抑えを入れて手首が当たらない様にしてみたら楽だこと楽だこと。ビンゴですわ。
席替えって話を書いたと思いますが、諸事情でパソコンのモニタが机の右角です。体をモニタに正対させたいので少し右向きになり右肘が浮きます。今までは机に乗せた肘を軸にマウスを動かしていたのですが、その癖のままですとテーブルの縁に当たる手首が軸になります。かといって肘を上げていたら別な問題が出そう。
このままではイカンと思い、薄い箱状の物(今回の主役)をこさえて引き出しの上に乗せ、肘を置く場所を作ったワケです。机をL字化したと言ってもいいですね。
快適とはニュアンスが違いますが、手首が楽になりました。
この品の板材にはMDF材を使っています。圧縮材の一種です。細かくは知りませんが、木材というよりボール紙に近いような気もします。実際紙なのかな?
これまでは比較的高価だったので使うことが少なかったのですが、合板の価格が高騰している今は相対的に安い部類になっています。
細かくした繊維を固めていますので合板に比べて強度が劣り水気にも弱いのですが、強度を求めない用途ならば厚み寸法が出ているし表面も滑らかなので使いやすい板材です。
もちろん表面塗装をするのですが、希釈した水性ニスと相性がいいですね。グイグイ吸い込んで固まると無垢の時とは別素材の様です。手触りがよく、木板と樹脂板のいいとこ取りをした仕上がりが好印象です。
急いで仕上げたので塗りムラが凄いけど(笑
ひょっとすると、MDFはポリエチレン(FRPを作る樹脂)とも相性が良かったりして。
専用のガラス繊維程ではないでしょうけど、サラサラにして塗ったらグイグイ吸い込んでガチガチに固まってくれるかも。
しばらく前に余ったポリエチレン溶液をMDFに塗ったことがありますが、普通の粘度だったので表面が堅くなっただけで特筆する何かにはなりませんでした。アリっちゃアリな方法ですけどね。
端材があるので、アセトンでサラッサラにしてブヨブヨにする勢いで塗布したらどうなるか試したくなりました。
型を使って造形するのではなく、作った形を樹脂化するイメージです。
#ガチ工作
ここ数日、右手首に妙な痛みがあったのです。
年齢も年齢だしなぁ~って思っていたのですが、ふと気付く。マウスを握ると机の縁に手首がずーっと当たっている。マウスを動かす際に細かく動く腱がずっと圧迫されています。痛いのは正にココ。試しに肘の下に抑えを入れて手首が当たらない様にしてみたら楽だこと楽だこと。ビンゴですわ。
席替えって話を書いたと思いますが、諸事情でパソコンのモニタが机の右角です。体をモニタに正対させたいので少し右向きになり右肘が浮きます。今までは机に乗せた肘を軸にマウスを動かしていたのですが、その癖のままですとテーブルの縁に当たる手首が軸になります。かといって肘を上げていたら別な問題が出そう。
このままではイカンと思い、薄い箱状の物(今回の主役)をこさえて引き出しの上に乗せ、肘を置く場所を作ったワケです。机をL字化したと言ってもいいですね。
快適とはニュアンスが違いますが、手首が楽になりました。
この品の板材にはMDF材を使っています。圧縮材の一種です。細かくは知りませんが、木材というよりボール紙に近いような気もします。実際紙なのかな?
これまでは比較的高価だったので使うことが少なかったのですが、合板の価格が高騰している今は相対的に安い部類になっています。
細かくした繊維を固めていますので合板に比べて強度が劣り水気にも弱いのですが、強度を求めない用途ならば厚み寸法が出ているし表面も滑らかなので使いやすい板材です。
もちろん表面塗装をするのですが、希釈した水性ニスと相性がいいですね。グイグイ吸い込んで固まると無垢の時とは別素材の様です。手触りがよく、木板と樹脂板のいいとこ取りをした仕上がりが好印象です。
急いで仕上げたので塗りムラが凄いけど(笑
ひょっとすると、MDFはポリエチレン(FRPを作る樹脂)とも相性が良かったりして。
専用のガラス繊維程ではないでしょうけど、サラサラにして塗ったらグイグイ吸い込んでガチガチに固まってくれるかも。
しばらく前に余ったポリエチレン溶液をMDFに塗ったことがありますが、普通の粘度だったので表面が堅くなっただけで特筆する何かにはなりませんでした。アリっちゃアリな方法ですけどね。
端材があるので、アセトンでサラッサラにしてブヨブヨにする勢いで塗布したらどうなるか試したくなりました。
型を使って造形するのではなく、作った形を樹脂化するイメージです。
#ガチ工作
2022年9月 この範囲を新しい順で読む この範囲をファイルに出力する
前にもご紹介したことがありますが、サーバーを設定するためのレシピ集です。
Server World
私はDebianを使いますが、基本的な設定は書いてある通りで完璧です。
Debian11
このサイトのレシピで基本設定をし、細かい追加をして使っています。
#サーバー #Linux
Server World
私はDebianを使いますが、基本的な設定は書いてある通りで完璧です。
Debian11
このサイトのレシピで基本設定をし、細かい追加をして使っています。
#サーバー #Linux
裸族のパイは基本設定が終わった感じです。
RaspberryPiでガチのサーバーを組んだからどうなるかのお試し中ですが、今後はクライアントサービスを実装して実践確認です。
まずはowncloudです。RaspberryPiで満足な処理が出来るかが一番確認したいところですが、ルートの振り分けもやり方を変えてみます。これまではポート番号をキーに光回線のルーターで振り分けをしていましたが、webサーバーのバーチャルサーバーとリダイレクトを使ってみようと思います。
ただ、owncloudの姉妹品であるnextcloudの方がメインストリームになっているとの話も聞きますので、どちらを扱うかも考えないといけません。
#サーバー
RaspberryPiでガチのサーバーを組んだからどうなるかのお試し中ですが、今後はクライアントサービスを実装して実践確認です。
まずはowncloudです。RaspberryPiで満足な処理が出来るかが一番確認したいところですが、ルートの振り分けもやり方を変えてみます。これまではポート番号をキーに光回線のルーターで振り分けをしていましたが、webサーバーのバーチャルサーバーとリダイレクトを使ってみようと思います。
ただ、owncloudの姉妹品であるnextcloudの方がメインストリームになっているとの話も聞きますので、どちらを扱うかも考えないといけません。
#サーバー
2022年10月 この範囲を新しい順で読む この範囲をファイルに出力する
忘れないウチにインターカム・パワーサプライの回路図を描いてみました。
基板化する都合で電源モジュールと切替スイッチは記載しておりません。
クリアカムと称すると面倒がありそうなので、インターカム(Inter-Com)としています。
一日に1-2時間、気分転換として触るには良いネタです。
#電子工作
基板化する都合で電源モジュールと切替スイッチは記載しておりません。
クリアカムと称すると面倒がありそうなので、インターカム(Inter-Com)としています。
一日に1-2時間、気分転換として触るには良いネタです。
#電子工作
2022年11月 この範囲を新しい順で読む この範囲をファイルに出力する
カゲ段はこんなモノです。
1×3の平台を使った1尺4寸用の構成です。段差は4寸7分くらいです。
薄ゲタと呼ぶ7分高の角材を付けた1段目、中箱と仮に呼ぶ5寸3分4厘を取り付けた2段目です。
中箱は1尺×7寸の合板(4分厚=12mm)と4寸5分4厘(1寸5分角)の角材を組み合わせた物ですが、平台の側面の穴と角材にクランプを当てて連結出来ます。当初はボルト連結も考えたのですが、工作精度や床の平面精度を考えると許容誤差が大きい大雑把なのがいいかなと。
写真では空いていませんが、箱の合板にも同様の穴を空けて上下連結出来る様にします。2尺1寸用の3段目は5寸3分4厘の中箱と6寸5分の高箱を重ねて使うからです。
#ガチ工作 #本業
1×3の平台を使った1尺4寸用の構成です。段差は4寸7分くらいです。
薄ゲタと呼ぶ7分高の角材を付けた1段目、中箱と仮に呼ぶ5寸3分4厘を取り付けた2段目です。
中箱は1尺×7寸の合板(4分厚=12mm)と4寸5分4厘(1寸5分角)の角材を組み合わせた物ですが、平台の側面の穴と角材にクランプを当てて連結出来ます。当初はボルト連結も考えたのですが、工作精度や床の平面精度を考えると許容誤差が大きい大雑把なのがいいかなと。
写真では空いていませんが、箱の合板にも同様の穴を空けて上下連結出来る様にします。2尺1寸用の3段目は5寸3分4厘の中箱と6寸5分の高箱を重ねて使うからです。
#ガチ工作 #本業
2023年1月 この範囲を新しい順で読む この範囲をファイルに出力する
Windows上のVSCodeからSSHでRaspberryPiに接続してコードを編集・コンパイル・実行してみました。
コードは俗に言う「Hello, World」。コンソールに簡単な文字列を表示するだけのモノです。
VSCodeはユーザーインターフェースのデザイン更新が頻繁なのか、ネットの解説は出来るだけ新しいモノを参考にしないと見た目が違います。
インストールと設定は次の通り。
まずはRaspberryPi側から。sshでつながることを前提とする。
1)対象となるRaspberryPiをアップデート
$ sudo apt update
$ sudo apt upgrade
2)build-essentialをインストール。
$ sudo apt install build-essential
デバッカーのgdbが必要になる、上記で入らなかったらインストール
$ sudo apt install gdb
Windows(11)側
1)VSCodeをダウンロード
https://code.visualstudio.comってのが本家みたい。
環境に合わせてインストーラーをダウンロード
2)インストール
ダウンロードしたインストーラーを起動して初期設定のまま進めてインストール。選択項目がある場合はよくわからんけど一番上を選択。
3)起動後、機能拡張の日本語パックを入れる(参考ページは呆れるほどあります)
機能拡張のメニューから「Japanese Language Pack for Visual Studio Code」をインストール
インストール後、アプリを再起動すると大半のメニューが日本語になっています。
4)同じく機能拡張の「Remote Development」を入れる
他に必要な機能拡張は自動的に入ります。
5)ssh接続してみる
以下を参考にすれば繋がると思います。
「Visual Studio Codeを使ったC言語リモートコンパイルからリモートデバッグまで」
6)初回接続ではRaspberryPi側にも色々入れるようで少し時間がかかります。
7)この他にも自動的に入った機能拡張がありますが、よくわからんのでここには書きません。
Windows上のVSCodeでコーディング、コンパイル、デバッグ、実行が出来ました。
ブレークポイントありのデバッカーまで使えるのですから、Turbo-CのトラウマでC言語を敬遠していた時間が勿体ないと思える程に便利です。
#C言語
コードは俗に言う「Hello, World」。コンソールに簡単な文字列を表示するだけのモノです。
VSCodeはユーザーインターフェースのデザイン更新が頻繁なのか、ネットの解説は出来るだけ新しいモノを参考にしないと見た目が違います。
インストールと設定は次の通り。
まずはRaspberryPi側から。sshでつながることを前提とする。
1)対象となるRaspberryPiをアップデート
$ sudo apt update
$ sudo apt upgrade
2)build-essentialをインストール。
$ sudo apt install build-essential
デバッカーのgdbが必要になる、上記で入らなかったらインストール
$ sudo apt install gdb
Windows(11)側
1)VSCodeをダウンロード
https://code.visualstudio.comってのが本家みたい。
環境に合わせてインストーラーをダウンロード
2)インストール
ダウンロードしたインストーラーを起動して初期設定のまま進めてインストール。選択項目がある場合はよくわからんけど一番上を選択。
3)起動後、機能拡張の日本語パックを入れる(参考ページは呆れるほどあります)
機能拡張のメニューから「Japanese Language Pack for Visual Studio Code」をインストール
インストール後、アプリを再起動すると大半のメニューが日本語になっています。
4)同じく機能拡張の「Remote Development」を入れる
他に必要な機能拡張は自動的に入ります。
5)ssh接続してみる
以下を参考にすれば繋がると思います。
「Visual Studio Codeを使ったC言語リモートコンパイルからリモートデバッグまで」
6)初回接続ではRaspberryPi側にも色々入れるようで少し時間がかかります。
7)この他にも自動的に入った機能拡張がありますが、よくわからんのでここには書きません。
Windows上のVSCodeでコーディング、コンパイル、デバッグ、実行が出来ました。
ブレークポイントありのデバッカーまで使えるのですから、Turbo-CのトラウマでC言語を敬遠していた時間が勿体ないと思える程に便利です。
#C言語
VSCodeのSSH環境作りは予想外に簡単でした。
自宅でファイルサーバーになっているRaspberryPiに接続してC言語の実習をしております。
まずは基本であり多用するであろうポインタによる関数の呼び出し方です。ポインタはその昔挫折した要素でありますが、どうも勘違いのままアタマに刷り込まれてしまったようで、わかっているつもりなのに間違った組み立てが浮かんできます。これは正しい組み方を刷り込み直すしかありませんので、自分なりの課題で実験を繰り返すしかありません。
つい先ほど整理出来たのですが、ポインタ変数は定義した直後はnull値であって特定のアドレスは持っていません。int *num では実体の変数は定義されないということがわかったのですが、正にこういった点がその昔の勘違いなんですよね。「ポインタは実体変数の扱いを補助するための機能」という前提がアタマに入ったのでスッキリしました。「実体ではない」ということが明確になっただけでも私の中では大革命です。
あと、インクリメントとデクリメントについてメモ。
C言語では++numと書かないと期待値になりません。雰囲気的にnum++と書いてしまいがちですが、エラーにならんのにインクリメントされんのです。
デクリメントも--numとしないといけません。
計算記号が行頭にあっていいのかって疑問が湧きますが、慣用句として覚えておきましょう。
それにしてもVSCode+SSH+gcc+gdb環境は便利ですねぇ。
コンパイルから実行までの手数や所要時間が画期的に短い。エラーも丁寧に教えてくれるし、メモリがマネージされているからヘタなモノ書いてもシステムが飛ぶこともない。スクリプト言語をチョイチョイ書いているのと大差ありません。
デバッカーのお世話になるレベルになるにはまだまだかかりそうですが、こんなに簡単にC言語が扱えるなんて私の中では画期的過ぎです。25年前と一緒にすんなって話ですけどね。
#C言語
自宅でファイルサーバーになっているRaspberryPiに接続してC言語の実習をしております。
まずは基本であり多用するであろうポインタによる関数の呼び出し方です。ポインタはその昔挫折した要素でありますが、どうも勘違いのままアタマに刷り込まれてしまったようで、わかっているつもりなのに間違った組み立てが浮かんできます。これは正しい組み方を刷り込み直すしかありませんので、自分なりの課題で実験を繰り返すしかありません。
つい先ほど整理出来たのですが、ポインタ変数は定義した直後はnull値であって特定のアドレスは持っていません。int *num では実体の変数は定義されないということがわかったのですが、正にこういった点がその昔の勘違いなんですよね。「ポインタは実体変数の扱いを補助するための機能」という前提がアタマに入ったのでスッキリしました。「実体ではない」ということが明確になっただけでも私の中では大革命です。
あと、インクリメントとデクリメントについてメモ。
C言語では++numと書かないと期待値になりません。雰囲気的にnum++と書いてしまいがちですが、エラーにならんのにインクリメントされんのです。
デクリメントも--numとしないといけません。
計算記号が行頭にあっていいのかって疑問が湧きますが、慣用句として覚えておきましょう。
それにしてもVSCode+SSH+gcc+gdb環境は便利ですねぇ。
コンパイルから実行までの手数や所要時間が画期的に短い。エラーも丁寧に教えてくれるし、メモリがマネージされているからヘタなモノ書いてもシステムが飛ぶこともない。スクリプト言語をチョイチョイ書いているのと大差ありません。
デバッカーのお世話になるレベルになるにはまだまだかかりそうですが、こんなに簡単にC言語が扱えるなんて私の中では画期的過ぎです。25年前と一緒にすんなって話ですけどね。
#C言語
2023年2月 この範囲を新しい順で読む この範囲をファイルに出力する
諸々イイ感じに書き進められていますが、処理タイミングという一見簡単そうで実は面倒なことに取り組んでいます。
先日作ったキー入力処理とArt-Net処理を混ぜているのですが、それぞれに合った時間間隔で実行しないといけません。キー入力は100msec、Art-Netは100usecです。求められる処理間隔が3桁も違うので同じ時間間隔ではどちらかが破綻します。それぞれをそれぞれの時間間隔で実行するにはどうするか。他の処理を止めること無く処理を続けるにはどうするか。
基本は前回処理の日時と現在日時の差から経過時間を評価する方法です。一定の時間間隔で処理を呼ぶのではなく、呼ばれても経過時間が要求未満なら何もしない方法です。signal()を用いて一定時間間隔で関数を実行させるのが王道でしょうが、singal()ですと終わっているべき他処理のチェックが必要になるのでどっちもどっちです。私の書き方が悪いのかもしれませんが、signal()を多用するとバグの原因になりやすいようです。
なんにしても前回処理からの経過時間で対策してみます。そのために必要なのは現在日時の取得です。POSIX時間と呼ばれる1970年1月1日0時0分0秒からの経過秒数を取得出来るのでこれを用います。50マイクロ秒くらいの分解能が欲しいので秒単位では不足しますが、精度はともかく1ナノ秒単位で値を得られますから十分です。
下記はその値を取得するテストプログラムです。
秒とナノ秒が別々の変数で得られるので、評価を簡単にするためにひとまとめにします。ただし、int型は4バイト長(OSが32bitの場合)のためデータ長が不足しますので、8バイト長(OSが32bitの場合)の unsigned long long int型を用います。2038年問題はとりあえず気にしない。。。
Raspberry Pi 4B / Rasbian11_32bit(blueseye) / コンパイラ:OS標準gcc
#include <stdio.h>
#include <time.h>
int main( int argc, char *argv[] ) {
struct timespec now ;
unsigned long long int now_nsec ;
// 現在POSIX時を取得
clock_gettime( CLOCK_REALTIME, &now ) ; // 現在POSIX時間値を取得
now_nsec = ( unsigned long long int )now.tv_sec * 1e9 // unsigned long long int型(8バイト長int)変数に
+ now.tv_nsec ; // 取得値をひとまとめにする(nsec)
// 確認表示
printf( "%11ld.%09ld sec.\n", now.tv_sec, now.tv_nsec ) ; // 取得値を表示
printf( "%21lld nsec.\n", now_nsec ) ; // ひとまとめにした数値を表示
// 終了
return 0 ;
}
※ このブログシステムでは#や[が機能文字扱いなので、上記ではこれらを全角文字で書いています。空白も全角です。
◆ 参考
時間情報の取得方法と扱い方
取得に必要なのは「// 現在POSIX時を取得」以下の2行(表記は3行)です。
実際の処理では、取得した秒とナノ秒を合わせた数値がnow_nsec入りますので現在日時値とし、同じ方法で前回の処理で取得した値との差で経過時間を評価します。単位がnsecなら1秒は1000000000(1e9)ですから、100msecは100000000(1e8)、100usecは100000(1e5)です。良い意味で処理が速いC言語では多用すべき手法です。
関数化・ライブラリ化するとソースは美しいですが、2行で出来ることなので都度の直書きでもいいかなと。将来、2038年問題に対策しやすくしておくならライブラリ化しといた方がいいけど。
PICのアセンブラでも近いことをしていますが、それがPICで様々なことを実現出来ている要因だったりします。処理タイミングの管理はとても重要です。
#C言語
先日作ったキー入力処理とArt-Net処理を混ぜているのですが、それぞれに合った時間間隔で実行しないといけません。キー入力は100msec、Art-Netは100usecです。求められる処理間隔が3桁も違うので同じ時間間隔ではどちらかが破綻します。それぞれをそれぞれの時間間隔で実行するにはどうするか。他の処理を止めること無く処理を続けるにはどうするか。
基本は前回処理の日時と現在日時の差から経過時間を評価する方法です。一定の時間間隔で処理を呼ぶのではなく、呼ばれても経過時間が要求未満なら何もしない方法です。signal()を用いて一定時間間隔で関数を実行させるのが王道でしょうが、singal()ですと終わっているべき他処理のチェックが必要になるのでどっちもどっちです。私の書き方が悪いのかもしれませんが、signal()を多用するとバグの原因になりやすいようです。
なんにしても前回処理からの経過時間で対策してみます。そのために必要なのは現在日時の取得です。POSIX時間と呼ばれる1970年1月1日0時0分0秒からの経過秒数を取得出来るのでこれを用います。50マイクロ秒くらいの分解能が欲しいので秒単位では不足しますが、精度はともかく1ナノ秒単位で値を得られますから十分です。
下記はその値を取得するテストプログラムです。
秒とナノ秒が別々の変数で得られるので、評価を簡単にするためにひとまとめにします。ただし、int型は4バイト長(OSが32bitの場合)のためデータ長が不足しますので、8バイト長(OSが32bitの場合)の unsigned long long int型を用います。2038年問題はとりあえず気にしない。。。
Raspberry Pi 4B / Rasbian11_32bit(blueseye) / コンパイラ:OS標準gcc
#include <stdio.h>
#include <time.h>
int main( int argc, char *argv[] ) {
struct timespec now ;
unsigned long long int now_nsec ;
// 現在POSIX時を取得
clock_gettime( CLOCK_REALTIME, &now ) ; // 現在POSIX時間値を取得
now_nsec = ( unsigned long long int )now.tv_sec * 1e9 // unsigned long long int型(8バイト長int)変数に
+ now.tv_nsec ; // 取得値をひとまとめにする(nsec)
// 確認表示
printf( "%11ld.%09ld sec.\n", now.tv_sec, now.tv_nsec ) ; // 取得値を表示
printf( "%21lld nsec.\n", now_nsec ) ; // ひとまとめにした数値を表示
// 終了
return 0 ;
}
※ このブログシステムでは#や[が機能文字扱いなので、上記ではこれらを全角文字で書いています。空白も全角です。
◆ 参考
時間情報の取得方法と扱い方
取得に必要なのは「// 現在POSIX時を取得」以下の2行(表記は3行)です。
実際の処理では、取得した秒とナノ秒を合わせた数値がnow_nsec入りますので現在日時値とし、同じ方法で前回の処理で取得した値との差で経過時間を評価します。単位がnsecなら1秒は1000000000(1e9)ですから、100msecは100000000(1e8)、100usecは100000(1e5)です。良い意味で処理が速いC言語では多用すべき手法です。
関数化・ライブラリ化するとソースは美しいですが、2行で出来ることなので都度の直書きでもいいかなと。将来、2038年問題に対策しやすくしておくならライブラリ化しといた方がいいけど。
PICのアセンブラでも近いことをしていますが、それがPICで様々なことを実現出来ている要因だったりします。処理タイミングの管理はとても重要です。
#C言語