パスワードを忘れた? アカウント作成

yabさんのトモダチの日記。 アナウンス:スラドとOSDNは受け入れ先を募集中です。

13004663 journal
日記

ttの日記: オレオレビットフィールドを作る 4

日記 by tt

人生初のAdvent Calendarをしてみんとしてなんとなく久々に日記など。
C言語 Advent Calendar 2016 の6日目、らしい。

Cの世界にはビットフィールドというのがある。もともとハードウェアレジスタを操作するために作られたと思われるが、今やメモリ削減のために使われている感がある(ex. webkit)。
どうしてこうなったか…というとまあ規格上いろいろと自由度と不自由度がありすぎて、エンディアンとかintの大きさとかによって「実際の」ビットの位置がずれてしまい、移植性のあるコードを書くのがめんどくさいからである。
ハードウェアを触るなんてマシン固有だからどーでもいいじゃん、というのはあるんだが、x86でもx86-64でも動いてほしいとか、ARM BEとARM LEで~とか、いろいろあるのである。

前振りが長くなった。さて本題。

ビットフィールド使えないとなるとレジスタ操作系のコードはこういうのになる
  int reg = MMIO_REG_READ(COMMON_REG_ADDR);
  int busy = (((reg >> STATUS_BIT_POS) & STATUS_BIT_LEN) == STATUS_BUSY);
わかりやすい。というか超べたべただ。

マクロなりなんなりで
  int busy = (extract(reg, STATUS_BIT_POS, STATUS_BIT_LEN) == STATUS_BUSY);
なんて書くのも可能だし、マクロの定義を適度にいじってintのサイズ違いに対処とかもできそうだ。

と、ここまではよく見るんだけど、最近
  extract(reg, STATUS_BIT_POS : STATUS_BIT_LEN)
みたいな書き方があるのを知った。

どーやってるんだろうとおもったら、こういう感じらしい
  # define GETPOS(field) (0 ? field)
  # define GETLEN(field) (1 ? field)
  # extract(reg, field) (((reg)>>GETPOS(field))&((1uGETLEN(field)-1))
そう、三項演算子を使うらしい。

で、これの利点だけど…ハードウェアの仕様書とかではビットフィールドの記述に「:」を使うのは多いため、見た目がわかりやすい、ということ以外にあんまり思い浮かばなかった(笑)。C++はともかく、Cでは三項演算子やラベル名以外で:を使うというのはあんまりないので、他より目立たせることができる、というのもあるだろうか。

あんまり意味がないけど、まあ、面白いのでご紹介、ということで。

12126699 journal
日記

miro2の日記: ひさびさ

日記 by miro2

スラドはたまに見ていたものの、とっても久しぶりにログイン。
せっかくなので日記も書いてみる。なんと8年ぶりの日記。

まだ何人か懐かしい人がいますねー。

8年の間に仕事を辞めて旅行に行ったり、結婚したり色々ありました。
が、技術的なことへの関心は減った気がします。
一応元気にやってます。

旅行記↓
http://4travel.jp/traveler/miro2/

10236976 journal
日記

kuramaxの日記: 夫人生最高のモテ期

日記 by kuramax

先日私の中学・高校の同窓会があったのですが、
Facebookで繋がっている人3人から
「いい旦那さんだねー」
と言われました。
きっとイクメンぶりが評価されてのことだと思います。

で今日保育園で女の子に話しかけられたのですが
「私Uちゃん(息子のこと)のお父さんのことが好きなのー」

ちょっと何言ってるかわかりません。

私よりは愛想はいいからなぁ。

10068927 journal
日記

kuramaxの日記: 息子人生最高のモテ期 6

日記 by kuramax

息子が想像を絶するモテかたをしていて吹いた。

息子を保育園に連れて行って教室に入ると

女の子が2人走ってきて、息子にチュー。もう一人もチュー。

保育士さん「女の子って積極的なのよねー」

そ、そうですか…

というのが先々週の話。

先週は、チュー攻勢が怖かったのか泣きはじめて保育士さんに抱き上げられていました。

押し過ぎると怖がられるよ、という話。

と私のなかで完結していたら、今日年休のため送りに行った夫もこの光景も目撃してメールで報告してきました。

息子には質実剛健に育ってほしいのでモテてもモテなくてもどうでもいいです私。

9819941 journal
日記

kuramaxの日記: 終戦の日

日記 by kuramax

あ、今年は火垂るの墓のアニメはやらないんだ?
と考えて映画のワンシーンを思い出したら
自分の子供の顔と節子の顔が重なって切なくなってしまった。
戦後生まれだし正直戦争についてこれまではピンときていなかったのだけど、
今は、子供にはあんな思いをさせたくない、戦争は駄目だと強く思う。

9456702 journal
日記

kuramaxの日記: 親としての教養 1

日記 by kuramax

他の子がやってみせるのか、保育園の帰りに息子がヒーローもののキメポーズらしき仕草を繰り返すのだけど、私も夫も特撮に興味無いので元ネタがわからない。
ノリがわるくてごめんね息子よ(息子本人もその番組は見てないので、別にいいんだろうけど)。
その分、(主に理系の)ナゼナニには極力答えていきたい所存…。

typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...