メモめもメモ

環境構築やプログラミングに関するメモ

C言語

C言語で文字列を逆順にするプログラム

C言語入門の宿題としてたまに見かけるお題です。 文字列の先頭と末尾から順に入れ替えを行っていきます。 下記のコードでは文字の入れ替えに排他的論理和演算を使っていますが、 char tmp; tmp = msg[i]; msg[i] = msg[len-1-i]; msg[len-1-i] = tmp;のよう…

rdtsc命令とcpuid命令を使ったVM検知

cpuid命令をVM(Virtual Machine, 仮想マシン)環境で実行すると制御が一時的にVMM(Virtual Machine Monitor, 仮想マシンモニター)へ移るので、 物理マシン環境と比べて実行速度が遅くなります。 そのため、cpuid命令の実行速度をrdtsc命令などで計測する…