Ubuntu 18.04でGDBビルドチャレンジ
GDBはUbuntuならばsudo apt-get install build-essential
でインストールすることができるが最新版を使いたい場合は自分でビルドする必要がある。
さて、GDBビルドチャレンジだが基本的にはこの記事が正確なのでその通りやればよい。
特にflexをインストールせずにmakeすると、syslex.c not found
というメッセージが出る。
慌ててsudo apt-get install flex
しても、やはり同じメッセージが出る。
この場合、もう一度ダウンロードしなおして、./configureからやり直すのが手っ取り早い。
一応手順
sudo apt-get install flex libgmp-dev libmpfr-dev libmpc-dev libisl-dev
cd gdb-8.2
./configure --disable-multilib
make -j2 # if you want to use 2 cpu
make install
ThinkPad13 + Ubuntu16.04でやった設定
CapsLockキーのCtrl化
コマンド一発でCapsLockをCtrlに変える方法 | Linux Fan
の通りやればよい。
$ sudo gedit /etc/default/keyboardで
XKBOPTIONS="ctrl:swapcaps"
の行を加える。
ただし、
$ sudo systemctl restart console-setup
しても設定は反映されなかったが、再起動すると無事CapsLockキーは無効になった。
Bluetoothの起動時無効
Bluetooth 無効化 - からっぽの日記(2011-07-08)
を行う。
$ sudo gedit /etc/sysfs.conf
して、
devices/platform/thinkpad_acpi/bluetooth_enable = 0
の行を追加する。
トラックポイントの感度調整
色々調べたが、thinlpadでもX13だけドライバの場所が違うので、方法が違ったりする。
結局。
$ xinput --list --short
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech TrackPoint id=13 [slave pointer (2)]
みたいな表示を出して、TrackPointのドライバの名前を調べる。
$ xinput --set-prop "ETPS/2 Elantech TrackPoint id" "Device Accel Constant Deceleration" 0.35
とかやると速くなる。最後の数字が小さいほど速い。0.1とか入れると扱いづらくなるので注意。
これを.bashrcにいれるなりして起動時に実行されるようにする。
ホントはsystemdとか使った方がいいんだろうけど、まだうまくいってない。
Rustでdefaultdict
RustでPythonのDefaultDictのようにデフォルト値を持ったハッシュマップを使いたい場合、 entry APIを使って、以下のようにすればよい。
let mut normal_map = std::collections::HashMap::<i32, i32>::new(); // normal_map[3]を呼ぶ。ただし、存在しなければmap[3] = 5とする。 // println!("{:?}", normal_map[3]); はできないことに注意する。 println!("{:?}", *normal_map.entry(3).or_insert(5)); // 5 // normal_map[4]に1を足す。ただし、存在しなければmap[4] = 5としてから1を足す。 (*normal_map.entry(4).or_insert(5)) += 1; println!("{:?}", *normal_map.entry(4).or_insert(5)); // 6 // normal_map[5]を6とする。ただし、存在しなければmap[5] = 5としてから6を代入する。 (*normal_map.entry(5).or_insert(5)) = 6; println!("{:?}", *normal_map.entry(5).or_insert(5)); // 6続きを読む