min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

C言語でポインタ演算した結果を確認したい → bash で16進数を引き算するには

f:id:min117:20211009230811p:plain

VS Code使いやすい。気に入った。Vimで書けるし、ツラツラと並ぶのがシンプルで良い。

 

こんなの書いた。

f:id:min117:20211009225741p:plain

 

実行結果はこんな。

f:id:min117:20211009225846p:plain

 

ポインタ演算なので12行目で hoge_p++; したときintのサイズ分だけバイト数が増加するはず。

 

64bit版macOSってintのサイズは何バイトなんだ?

 

知るには

hoge_p... 0x7ffee51bf308 ←これを
hoge_p... 0x7ffee51bf30c ←これから

引いてやればいい。

 

16進数の引き算ってどうやるねん。

linux.just4fun.biz

 

こんな感じでやるらしい。

$ echo $*1 | xargs printf '%x\n'

f:id:min117:20211009230247p:plain

 

ふむ。やってみる。

$ echo $*2 | xargs printf '%x\n'

f:id:min117:20211009230518p:plain

おお。4バイトだ



*1:16#10 + 16#20

*2: 0x7ffee556730c - 0x7ffee5567308