strlenの実装上の工夫 in glibc
データバス幅とアライメントを考慮して作ってる.
GNU strlen を読む - blog.8-p.info
http://blog.8-p.info/2009/03/gnu-strlen
Ctrl+Alt+DでDropboxのフォルダを開く:Windowsのショートカットキーを自分で追加する
よく使う特定のフォルダやプログラムを「Ctrl+Alt+D」のようなショートカットキー一発で開ける方法.
例えば,Dropboxフォルダ(C:\Users\fgken\Dropbox)を開きたい時は,
1. デスクトップを右クリック→新規作成→ショートカット
2. 「C:\Users\fgken\Dropbox」を入力,ショートカットを作成.
3. ショートカットアイコンを右クリック,プロパティを開く
4. 「ショートカットキー(K):」で「d」を入力
これだけで,「Ctrl+Alt+D」を押すといつでもDropboxフォルダが開けちゃう.便利ー!
同じ要領でプログラムやバッチファイルへのショートカットを作成できます.
テキストエディタでちょっとしたプログラムを書いて,「Ctrl+Alt+B」でビルド&実行,とかやったら便利かも.
ちなみに,このショートカットって,レジストリに登録されている??
現在つながっているブロックデバイスのパーティション一覧を見やすく表示するコマンド
Linuxマシンで挿したUBSメモリがどのデバイスファイルに割り当てられているかを調べたいときによく使うコマンドは
tail | dmesg
fdisk -l /dev/sdb
/sbin/hdparm -i /dev/sdb
あたり.
ただ,見にくかったり,sda,sdb,sdc...と1つずつ指定しなければならなかったりとちょっとめんどくさい.
そこで発見したコマンドが"lsblk".
下みたいにブロックデバイス一覧とそのパーティションをツリー状に表示してくれる.便利!
$lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom sda 8:0 0 232.9G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 232.4G 0 part ├─vg_sv-lv_root (dm-0) 253:0 0 50G 0 lvm / ├─vg_sv-lv_swap (dm-1) 253:1 0 3.8G 0 lvm [SWAP] └─vg_sv-lv_home (dm-2) 253:2 0 178.6G 0 lvm /home sdb 8:16 1 14.7G 0 disk ├─sdb1 8:17 1 1M 0 part └─sdb2 8:18 1 1.8G 0 part
ビブラートかけない系ファゴットのウェーバー・コンチェルト
バロックの曲というわけではなく,普段からビブラートかけない系ファゴット吹きの演奏です.
実際にはあちこち浅く軽くかけてますが,それが効果的!
Matthias Racz - Fagott, bassoon, fagot / Weber Concert for bassoon / Simon Bolivar Orchester 2011 - YouTube
Matthias Raczさんと言う方らしいです.1980年生まれ.若い!
いいなぁ,この真っ直ぐな響き.真似してみようかな.
ビブラートをかけないパターンの演奏だと,やっぱり一つひとつの音が明瞭で張りのある音色になるみたい.
柔らかい音色だけどビブラートはかけない,みたいなパターンの演奏はないのかな?合わないか?
同じ人の演奏で,ロッシーニのセビリアの理髪師のファゴット二重奏版です.
▶ Rossini - Duos aus Der Barbier von Sevilla für 2 Fagotte - YouTube
https://www.youtube.com/watch?v=a-7qP-YCYoI
バロック曲以外で,ビブラートかけない系フルート,オーボエ,弦楽器っているのかな?
ビブラートかけてもかけなくてもいけるのって,もしかして,ファゴットだけ!?
DLLのエクスポート関数の名前
VC++2012で作成したDLLを,Meta Trader 4というプログラムから呼び出すときにひっかかったのでメモ.
エクスポート関数を指定するには,__declspec(dllexport)をつけるか,.defファイルを定義するか,の2つの選択肢がある.
__declspec(dllexport)をつければ,.defファイルは不要なのだがエクスポート関数名に余計な接尾辞(サフィクス?)が付いてしまうところではまった.以下に示す.DLLはC++ファイルで書いている.
1.__declspec(dllexport)のみの場合
ソース:
__declspec(dllexport) int __stdcall plusInt(int a, int b);
エクスポート名:
?plusInt@@YGHHH@Z
2.extern "C" __declspec(dllexport)の場合
extern "C" __declspec(dllexport) int __stdcall plusInt(int a, int b);
エクスポート名:
_plusInt@8
3.defファイルに定義した場合
.def:
EXPORTS plusInt
ソース:
int __stdcall plusInt(int a, int b)
エクスポート名:
plusInt
引数違いの同名関数のエクスポート名が被らないようにサフィックスをつけているらしい.
ところで,2の時の@8はなんだろう?
plusIntの序数は1だったので違うみたいだし・・・.
内部的な通し番号?
BeagleBone Blackを買った!
これで,サーバ立てましょう.
Getting startedに従って,mini-USB経由でPCに接続,ドライバーをインストール,Tera TermでCOMに接続して,Angstromのシリアルコンソールにご対面.
.---O---. | | .-. o o | | |-----.-----.-----.| | .----..-----.-----. | | | __ | ---'| '--.| .-'| | | | | | | | |--- || --'| | | ' | | | | '---'---'--'--'--. |-----''----''--' '-----'-'-'-' -' | '---' The Angstrom Distribution beaglebone ttyGS0 Angstrom v2012.12 - Kernel 3.8.13 beaglebone login: root Last login: Sat Jan 1 00:13:38 UTC 2000 on ttyGS0 root@beaglebone:~# cat /etc/os-release NAME=Angstrom ID=angstrom PRETTY_NAME=The Angstrom Distribution ANSI_COLOR=1;35 root@beaglebone:~# cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 2 (v7l) BogoMIPS : 297.40 Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x3 CPU part : 0xc08 CPU revision : 2 Hardware : Generic AM33XX (Flattened Device Tree) Revision : 0000 Serial : 0000000000000000 root@beaglebone:~#
そして,以下のサイトを参考に固定IPを割り当てるところまでは行った.
Set IP address to be static on the Beaglebone Black | derekmolloy.ie
http://derekmolloy.ie/set-ip-address-to-be-static-on-the-beaglebone-black/
ところが,sshで入れない.以下のエラーが出る.
ssh_exchange_identification: Connection closed by remote host
なんか,アプリケーションをアップグレードするとつながるようになるらしいので,
opkg-update && opkg-upgrade
を実行.
しかし!upgrade中にネットワークにアクセスできなくなってしまった.
おそらく,upgradeでネットワーク接続を行うプログラムが正常に動作しなくなってしまった.
いきなり手詰まり.
micro-SDを買って,新しくイメージをインストールしよう.
--- 2013/08/25: 追記 ---
本家サイトの"Update to latest software"を参考に,microSD経由で最新のソフトウェアにアップデートしたら,無事sshがつながるようになった!ちなみに,「2013.06.20」版のイメージでアップデートした.
BeagleBoard.org - Getting Started
http://beagleboard.org/Getting%20Started#update