FrontPage > misc? > misc/memo

xxd -p -r hexfile | od -A x -t xI -v | xxd -r > binfile

busybox の rmmod は depmod してない .ko を指定すると SEGV する。 process_module -> find_alias が NULL 返して死ぬ。

1. どんなもの?
2. 先行研究と比べてどこがすごい?
3. 技術や手法のキモはどこ?
4. どうやって有効だと検証した?
5. 議論はある?
6. 次に読むべき論文は
らじる
------
rtmpdump -r rtmpe://netradio-fm-flash.nhk.jp/ --app live \
--playpath NetRadio_FM_flash@63343 \
--swfVfy http://www3.nhk.or.jp/netradio/files/swf/rtmpe.swf?ver.2
--live -o nhk_fm_tokyo.flv

cat some_pipe | \
gst-launch -v fdsrc ! flvdemux name=demux demux.audio ! \
queue ! ffdec_aac ! alsasink device=default
gstreamer
---------
gst-launch filesrc location=hoge.mp4 ! qtdemux name=demux
demux.video_00 ! queue ! ffdec_h264 ! colorspace ! ximagesink
demux.audio_00 ! queue ! ffdec_mp3 ! audioconvert ! alsasink

Xf86 fbdev

http://comments.gmane.org/gmane.comp.freedesktop.xorg/37811

R/W ラッパーを使う fb ドライバの作り方

参考: http://cgit.freedesktop.org/xorg/driver/xf86-video-vermilion/tree/src/vermilion.c

FB_ACCESS_WRAPPER を ON にしてコンパイルした libwfb
FB_ACCESS_WRAPPER を OFF にしてコンパイルしたら libfb

wfbScreenInit : fbscreen.c
  wfbFinishScreenInit
    SetupWrapProcPtr setupWrap, FinishWrapProcPtr finishWrap を登録

fbPrepareAccess
  setupWrap にポインタが渡ってきて、
    wfbReadMemory, wfbWriteMemory が更新され、
    それ以降は更新されたラッパー関数が使われる

typedef FbBits(*ReadMemoryProcPtr) (const void *src, int size);
typedef void (*WriteMemoryProcPtr) (void *dst, FbBits value, int size);
typedef void (*SetupWrapProcPtr) (ReadMemoryProcPtr * pRead,
                                  WriteMemoryProcPtr * pWrite,
                                  DrawablePtr pDraw);
typedef void (*FinishWrapProcPtr) (DrawablePtr pDraw);

bluetooth

modprobe ehci-hcd
modprobe btusb
modprobe hidp
modprobe evdev

/usr/local/sbin/hciconfig
/usr/local/sbin/hciconfig hci0 up
/usr/local/bin/hcitool scan
# (power on the keyboard)
/usr/local/bin/hidd --connect 58:BD:A3:3B:65:EF
/usr/local/bin/hcitool con
 /usr/local/bin/hidd --show
cat /proc/bus/input/handlers
cat /proc/bus/input/devices
hexdump /dev/input/event0

暫定

http://www.oracle.com/technetwork/jp/java/javase/overview/index.html

  • agentlib:hprof=cpu=times

http://www.02.246.ne.jp/~torutk/javahow2/commandline.html

AVI 参考

http://msdn.microsoft.com/ja-jp/library/cc354259.aspx

PlayStation 275M triangles/sec
Adreno 20022M triangles/sec133M 3D pixels/sec
Adreno 20541M triangles/sec245M 3D pixels/sec
PowerVR SGX 53014M triangles/sec500M pixels/secDroid
PowerVR SGX 54028M triangles/sec1G pixels/secHummingbird(Samsung S5PC110)

デフォルトリンカスクリプトを出す

LDFLAGS += -Wl,--verbose

http://dsas.blog.klab.org/archives/50908743.html#about_imbn

  • pjail:システムコールがシグナルに割り込まれて、ERESTARTNOINTR(513) などで帰ってきたときの処理
    • まだ
  • その場しのぎで変えたところ
    • Sysargs.cpp(arm): 226〜270 コメントアウト
    • ProcessManager.cpp: 454〜471
    • ReferenceMonitor.cpp: 778
    • StackTraceHook.cpp: 81, 85, 表示のレベルを 5 -> 2 にした
    • 表示用ルーチンに FILE* を渡すようにした
    • main に -T オプションの処理を追加した

ffmpeg メモ

  • ffmpeg でエンコードしたときのビデオ FourCC 一覧表
    • 確認方法: -f avi で作成してバイナリを見るとわかる。 なおオーディオには FourCC がない。
FourCCvcodec 指定意味
例:XXXX例:libxxxx例です
FLV1flvFlash Video / Sorenson Spark / Sorenson H.263
FMP4mpeg4MPEG-4 part2 video ffmpeg version
XVIDlibxvidMPEG-4 part2 video xvid version
MP41msmpeg4v1※1 MPEG-4 part2 video Microsoft variant version 1
MP42msmpeg4v2MPEG-4 part2 video Microsoft variant version 2
MP43msmpeg4MPEG-4 part2 video Microsoft variant version 3
MPG1mpeg1videoMPEG-1 video
MPG2mpeg2videoMPEG-2 video
MJPGmjpegMotion JPEG
THEOlibtheoraTheora Xiph.org(based on On2VP3)
WMV1wmv1Windows Media Video 7
WMV2wmv2Windows Media Video 8
  • ※1: まともにエンコードできない。全部真っ黒の画。
  • ※2: ffdshow でデコード確認できず。
    • AVI と MS MPEG4 や MPEG2 を組み合わせると、画だけ倍速になってしまう。 なんでだろう??

一行メモ

言葉

Q.E.D
Quod Erat Demonstrandum(訳:かく示された)の略。
RASIS
Reliability Availability Serviceability Integrity Security の略。日本語だとそれぞれ信頼性、可用性、保守性、保全性、機密性らしい。(IT 用語辞典より)

HSRP は Cisco 独自の規格。 IETF にはデフォルトゲートウェイの冗長化のために、VRRP というプロコトルがある。

見つけたページ

ピアノのクラシック曲の MIDI がある

PC 関連のメモ

パスワード保存している共有フォルダの一覧

rundll32.exe keymgr.dll,KRShowKeyMgr

歌まっぷの歌詞

http://www.utamap.com/showkasi.php?surl=
http://www.utamap.com/phpflash/flashfalsephp.php?unum=

Aterm の telnet による管理モード

user: aterm-maintenance-110
pass: Aterm-Maintenance-119

ようこそに Administrator を表示する

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
DWORD 値 Administrator を追加する
値を 1 にする

ようこそ画面で NumLock を ON あるいは OFF にする

Run Registry Editor (Regedt32.exe).
Navigate to HKEY_USERS\.Default\Control Panel\Keyboard.
Change the value for InitialKeyboardIndicators from 0 to 2.

tasklist でサービスの一覧表示をする

Tasklist /SVC

Windows XP Professional のみの機能みたい。

マイネットワークに最近使ったファイル共有が勝手に追加されるのを抑止

  • [スタート]−[ファイル名を指定して実行] で gpedit.msc を起動します。
  • [ユーザーの構成]\[管理用テンプレート]\[デスクトップ] を開きます。
  • 右側の「マイネットワークに最近使ったファイルの共有を追加しない」をダブルクリックします。
  • 「有効」を選択して「OK」をクリックします。

Mozilla/SeaMonkey のスプラッシュを消す(引数 -nosplash)

seamonkey.exe -nosplash

定義済みのマクロ一覧を見る

gcc src.c -E -dM
  • E プリコンパイル時点で止める。
  • dM でマクロ一覧を表示する。
    だったはず。

見ているページの内容を変更する(要 JavaScript)

JavaScript:with(document.body)innerHTML=
innerHTML.replace(/元の文字列1/g,'変換する文字列1').replace(/元の文字列2/g,'変換する文字列2');
focus();

実際には一行に書かなければいけない。

Windows XP の検索が遅い

  • regsvr32 /u zipfldr.dll
  • regsvr32 /u cabview.dll 以上のコマンドで zip と cab をフォルダ扱いする機能を削除する。

私ので再生しない

  • regsvr32 /u nvcpl.dll NVIDIA のドライバを入れると勝手に追加される変なメニューを削除する。

Windows レジストリについて

  • TCP/IP の設定
    • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\
  • ローカル接続なんとか
    • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}
    • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}
  • AFD 設定項目(Parameters のキーがない場合もある、その時は作成する)
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters
      • これの設定項目の詳細については、Microsoft が TCP/IP の資料(Microsoft Windows 2000 TCP/IP 実装の詳細、ホワイトペーパー)に書いていた気がする。
  • メモリ管理
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro\Session Manager\Memory Management\DisablePagingExecutive(type DWORD)
      • 0: カーネルの一部を仮想メモリにスワップアウトする。
      • 1: カーネルは常にメインメモリに置く
    • IoPageLockLimit(type DWORD)
      • バッファのサイズをバイト単位で指定します。既定値は 512KB
    • LargeSystemCache(type DWORD)
      • 0: Standard ファイルシステムキャッシュ
      • 1: Large ファイルシステムキャッシュ
      • Large にすると、アプリケーション実行用メモリーがスワップアウトされやすくなる。

exec で第 0引数を指定

$ exec -a hoge bash
 (別の端末で)
$ w
 02:07:41 up  3:03,  2 users,  load average: 0.07, 0.07, 0.08
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user     pts/2    :0.0             01:49   12.00s  0.41s  0.28s hoge
user     pts/4    :0.0             02:07    0.00s  0.11s  0.04s w

まあ、何の意味もないけど…。

Sarge の Gnome 2 で JIS 配列を使いたい

キーボードの設定でレイアウトに Japanese を選ぶとカナ入力になるが、 他を全て削除すると急にカナ入力ではなくなる。

全て削除してもJIS配列になるときがあるが、毎回ログインするたびに エラーを表示するのでやかましい。 なんだか、よくわからないが今は使えている…。

Japanese を選択して、他のレイアウトを全て削除すると JIS 配列になるようです。

--

旧突発メモ

--

CN-MP700VD/CN-SP700VL NV-SD740DT

http://support.microsoft.com/kb/827745/ja

http://www.cs.wustl.edu/~schmidt/win32-cv-1.html

http://www.horobi.com/tips/SmartLock/

  • Boehm GC の Windows でのコンパイル方法
    gc-7.2alpha4>nmake /f NT_STATIC_THREADS_MAKEFILE nodebug=1 all
LD_LIBRARY_PATH=/usr/local/lib ./ffmpeg -i other.3gp -vcodec wmv2 -r 15 -acodec wmav2 -ar 11025 other.avi  
ffmpeg.exe -i "e:\a.m2v" -acodec copy -an  -vcodec libx264 -vb 4000000  e:\a.ts
ffmpeg -i a.flv -vcodec mpeg4 -acodec libamr_nb -ar 8000 -ac 1 -ab 12200 -f 3gp a.3gp

クロスコンパイル関係

  • gcc
    • needs autoconf2.13 and automake1.4
  • glibc
    • configure の env に AUTOCONF=autoconf2.13 とするとエラーにならないが、configure で Warning がでている。。。
  • tar
    • bg.po で gettext(msgfmt, msgmerge) がエラーになる。ホストの gettext だとエラーにならない?--with-gnu-gettext
  • bash-3.2
    • msgfilt po/ru.po でエラーになるので、適当に リネームしてから configure しよう
  • Debian のクロスコンパイラ使う場合
    http://psas.pdx.edu/DebianCrossCompilerHowto/
  • Glibc のアップデート例
    http://web.kyoto-inet.or.jp/people/m-ito/linux/glibcvup.html

GCC のオプションメモ

  • Uhogehoge マクロ hogehoge を無効にする。
  • E プリプロセッサ処理のみ行う。
  • C コメントを残す。-E と一緒に使う。
  • P

    #line コマンドの生成を抑制する。-E と一緒に使う。

  • S アセンブルの手前でとめる。
  • c リンクの手前でとめる。
  • O2 最適化レベルの設定。0〜3 くらいまでは大抵のアーキテクチャで有効?
  • Wa,--gdwarf2 アセンブラへのオプション
  • Wall 便利な警告を有効にする。
  • Wdeclaration-after-statement 文の後に宣言を書いたときに警告する。 C++ や ISO C99 ではサポートされている。 ISO C90 や GCC-3.0 より前の GCC でサポートされていない。C で有効。
  • Wno-pointer-sign 異なる符号のポインタ型(int * を unsigned int * に渡す)を渡した、 または代入したときの警告を無効にする。C と C++ で有効。
  • Wno-trigraphs トライグラフを使用したときの警告を無効にする。
  • Wstrict-prototypes 引数の型を指定せずに関数を宣言した、または定義した場合に警告する。
  • ffreestanding 引数をとらないもしくは値を返さない main 関数を許可する。 このオプションは自動的に -fno-builtin を有効にする。
  • fno-builtin 勝手にビルトイン関数に展開しない。 ビルトイン関数を使うときは__builtin_という接頭辞を付ける。
  • fno-common
  • fno-omit-frame-pointer
  • fno-strict-aliasing
  • fomit-frame-pointer
  • g
  • isystem
  • nostdinc
  • o
  • MD
  • MF
  • MP
  • MT
  • fPIC
  • gdwarf-2
  • pipe
  • shared
  • fomit-frame-pointer

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TurnOffComputer] "Type"="group" "Text"="終了オプション" "Bitmap"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\

 00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,\
 68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,32,00,38,\
 00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TurnOffComputer\HibernateButton] "Type"="checkbox" "Text"="終了オプションに休止状態ボタンを表示する" "HKeyRoot"=dword:80000001 "RegPath"="Software\\Policies\\Microsoft\\Windows\\System\\Shutdown" "ValueName"="ShowHibernateButton" "CheckedValue"=dword:00000001 "UncheckedValue"=dword:00000000 "DefaultValue"=dword:00000000

  • colinux 起動用バッチファイル例
    echo off
    
    cd E:\app\colinux
    E:
    
    colinux-daemon kernel=vmlinux mem=512 root=/dev/cobd0 eth0=tuntap cobd0=debian_cobd0.3gb cobd1=debian_cobd1.3gb
  • DDR
    • AL: Additive Latency
    • CL: CAS Latency
    • RL: Read Latency = AL + CL
    • WL: Write Latency = RL - 1
  • http://www.watch.impress.co.jp/game/docs/20060329/3dps3.htm
    メインメモリはMIC(Memory Interface Controller)と呼ばれる
    メモリインターフェイスを介してRambusの3.2GHz動作の256MBの
    XDR DRAMと接続される。セッションでは各記憶リソースへのアク
    セスの際のレイテンシーも公開された。
    ・レジスタ:1サイクル
    ・L1キャッシュ:8サイクル
    ・L2キャッシュ:32サイクル
    ・メインメモリ:140サイクル 

mercurial 関連

push 可能なリポジトリにする

# .hg/hgrc
push_ssl = false
allow_push = *

PYTHONPATH じゃなくてハードコードで追加

import sys
...
sys.path.append('/path/to/python/site-packages')

確認方法

hg showconfig または show でもいいけど

デフォルトリポジトリの変更方法は???

$ pwd
/path/to/this_repo
$ hg show
bundle.mainreporoot=/path/to/this_repo
paths.default=/path/to/parent_repo

デフォルトリポジトリ以外から pull するほうほう

hg pull [--rev revision_number] file://path/to/repository
オプションは引数の最初に書かないとおかしな動作をする。いまいち!
hg init
touch a.file
hg add a.file
hg commit -m 'add file a at default branch.'

hg branch branch_a
touch b.file
hg add b.file
hg commit -m 'add file b at branch_a.'

hg update -C default
touch c.file
hg add c.file
hg commit -m 'add file c at default branch.'

touch d.file
hg add d.file
hg commit -m 'add file d at default branch.'

$  hg hist
changeset:   3:ef3debda4a63
tag:         tip
user:        katsuhiro
date:        Wed Jul 13 11:07:49 2011 +0900
summary:     add file d at default branch.

changeset:   2:fa0a33a27db8
parent:      0:11f057317415
user:        katsuhiro
date:        Wed Jul 13 11:07:48 2011 +0900
summary:     add file c at default branch.

changeset:   1:5807e0f700d5
branch:      branch_a
user:        katsuhiro
date:        Wed Jul 13 11:07:48 2011 +0900
summary:     add file b at branch_a.

changeset:   0:11f057317415
user:        katsuhiro
date:        Wed Jul 13 11:07:47 2011 +0900
summary:     add file a at default branch.

hg update -r 2
touch e.file
hg add e.file
hg commit -m 'add file e at unnamed branch(parent is default).'

$ hg branches
default                        4:1bf31e38d364
branch_a                       1:49b79737e50c

$ hg heads
changeset:   4:1bf31e38d364
tag:         tip
parent:      2:2fde0f18ac36
user:        user@host
date:        Fri Jun 13 11:25:52 2008 +0900
summary:     add file e at unnamed branch(parent is default).

changeset:   3:f83fdcd4f75c
user:        user@host
date:        Fri Jun 13 11:25:52 2008 +0900
summary:     add file d at default branch.

changeset:   1:49b79737e50c
branch:      branch_a
user:        user@host
date:        Fri Jun 13 11:25:51 2008 +0900
summary:     add file b at branch_a.
  • brances は named branch を列挙する
  • heads は unnamed branch も列挙する
  • hgweb.config に
    [collections]
    a = repos2/
    b = repos/
    [web]
    style = gitweb
  • .hg/hgrc に
    [web]
    style = gitweb
    allow_archive = gz zip bz2
  • showconfig で確認できる
    $ hg showconfig
    bundle.mainreporoot=/home/username/reponow
    paths.default=/home/username/repoparent
  • todo
    • extensions
    • hgrc
    • hgwebdir
    • エクスポートの方法
    • 公開、内蔵デーモン以外でのアクセス制限
    • 標準的なツリーの構成は?

Primary, Secondary の次は?

1 primary 2 secondary 3 tertiary 4 quaternary 5 quinary 6 senary 7 septenary 8 octonary 9 nonary 10 denary 11 12 duodenary ... 20 vigenary

screen で現在実行中のコマンド表示

  • オレオレシェルを使う
    # launch the user build shell
    if [ "$USR_ORG_SHLVL" == "" ]; then
        export USR_ORG_SHLVL=0
    fi
    if [ "$USR_ORG_SHLVL" -ne "$SHLVL" ]; then
        export USR_ORG_SHLVL="$SHLVL"
        exec /home/username/usr/bin/bash-3.2
    fi
  • 古い bash だと jobs のリストがおかしくなるバグあり。
    $ cat&
    [1] 3222
    $ tail
    [Press Ctrl+Z]
    [1]-  Stopped                 cat
    
    [2]+  Stopped                 return
    • zsh 使えよって話ですが。
  • コード (コピペするときは echo -n "ESCk${result}ESC\\"; の部分を書き換える、Emacs ならば Ctrl-q ESC で、tty 経由(vi とか?)なら Ctrl-v ESC で入力できる?はず)
    # set debug trace mode
    #set -o xtrace > /dev/null 2>&1
    
    # the debug fook function enabled
    set -o functrace > /dev/null 2>&1
    shopt -s extdebug > /dev/null 2>&1
    
    # Finally, install the actual traps.
    preexec_interactive_mode=""
    PROMPT_COMMAND_AFTER="preexec_invoke_cmd; trap 'preexec_invoke_exec' DEBUG"
    if [ "${PROMPT_COMMAND}" == "" ]; then
        PROMPT_COMMAND="trap - DEBUG; ${PROMPT_COMMAND_AFTER};";
    else
        PROMPT_COMMAND="trap - DEBUG; ${PROMPT_COMMAND}; ${PROMPT_COMMAND_AFTER}; ";
    fi
    trap 'preexec_invoke_exec' DEBUG;
    
    function precmd() {
        :;
    }
    
    # bash 3.0 has a bug. DEBUG function overwrites the jobs list.
    # -- GNU bash, version 3.00.14(1)-release (i386-redhat-linux-gnu)
    function preexec() {
        if [ "$TERM" = "screen" ]; then
            cmd=(`echo $1`);
            case ${cmd[0]} in
                fg)
                    if [ "${cmd[1]}" = "" ]; then
                        result=`LANG=C jobs %+ 2>/dev/null | tr -s ' ' ' ' | \
                                cut -f 3 -d ' '`;
                    else
                        result=`LANG=C jobs ${cmd[1]} 2>/dev/null | \
                                tr -s ' ' ' ' | cut -f 3 -d ' '`;
                    fi
                    ;;
                cd)
                    if [ "${cmd[1]}" != "" ]; then
                        result=${cmd[1]};
                    else
                        result='~';
                    fi
                    ;;
                *)
                    result=${cmd[0]};
                    ;;
            esac
    
            echo -n "ESCk${result}ESC\\";
            return;
        fi
        return;
    }
    
    # This function is installed as the PROMPT_COMMAND; it is invoked before each
    # interactive prompt display.  It sets a variable to indicate that the prompt
    # was just displayed, to allow the DEBUG trap, below, to know that the next
    # command is likely interactive.
    function preexec_invoke_cmd() {
        precmd
        preexec_interactive_mode="yes"
    }
    
    # This function is installed as the DEBUG trap.  It is invoked before each
    # interactive prompt display.  Its purpose is to inspect the current
    # environment to attempt to detect if the current command is being invoked
    # interactively, and invoke 'preexec' if so.
    function preexec_invoke_exec() {
        if [[ -n "$COMP_LINE" ]]; then
            # We're in the middle of a completer.  This obviously can't be
            # an interactively issued command.
            return
        fi
        if [[ -z "$preexec_interactive_mode" ]]; then
            # We're doing something related to displaying the prompt.  Let the
            # prompt set the title instead of me.
            return
        else
            # If we're in a subshell, then the prompt won't be re-displayed to put
            # us back into interactive mode, so let's not set the variable back.
            # In other words, if you have a subshell like
            #   (sleep 1; sleep 2)
            # You want to see the 'sleep 2' as a set_command_title as well.
            if [[ 0 -eq "$BASH_SUBSHELL" ]]; then
                preexec_interactive_mode=""
            fi
        fi
        if [[ "preexec_invoke_cmd" == "$BASH_COMMAND" ]]; then
            # Sadly, there's no cleaner way to detect two prompts being displayed
            # one after another.  This makes it important that PROMPT_COMMAND
            # remain set _exactly_ as below in preexec_install.  Let's switch back
            # out of interactive mode and not trace any of the commands run in
            # precmd.
    
            # Given their buggy interaction between BASH_COMMAND and debug traps,
            # versions of bash prior to 3.1 can't detect this at all.
            preexec_interactive_mode=""
            return
        fi
    
        # In more recent versions of bash, this could be set via the "BASH_COMMAND"
        # variable, but using history here is better in some ways: for example, "ps
        # auxf | less" will show up with both sides of the pipe if we use history,
        # but only as "ps auxf" if not.
        local this_command=`history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//g"`;
    
        # If none of the previous checks have earlied out of this function, then
        # the command is in fact interactive and we should invoke the user's
        # preexec hook with the running command as an argument.
        preexec "$this_command"
    }

subversion で俺リポジトリ

.subversion/config に適当に書く

[tunnels]
myssh = $SVN_SSH ssh -p 20022

こまんど

svn+myssh://localhost/home/katsuhiro/share/svn/

俺フォワーディングとあわせてどうぞ

ssh atlas -R20022:localhost:22 -f "bash -c 'while :;do sleep 60;done'"

JAVAで学ぶ3D

info nm

  For each symbol, `nm' shows:

  * The symbol value, in the radix selected by options (see below), or
    hexadecimal by default.

  * The symbol type.  At least the following types are used; others
    are, as well, depending on the object file format.  If lowercase,
    the symbol is local; if uppercase, the symbol is global (external).

   `A'
         The symbol's value is absolute, and will not be changed by
         further linking.

   `B'
         The symbol is in the uninitialized data section (known as
         BSS).

   `C'
         The symbol is common.  Common symbols are uninitialized data.
         When linking, multiple common symbols may appear with the
         same name.  If the symbol is defined anywhere, the common
         symbols are treated as undefined references.  For more
         details on common symbols, see the discussion of -warn-common
         in *Note Linker options: (ld.info)Options.

   `D'
         The symbol is in the initialized data section.

   `G'
         The symbol is in an initialized data section for small
         objects.  Some object file formats permit more efficient
         access to small data objects, such as a global int variable
         as opposed to a large global array.

   `I'
         The symbol is an indirect reference to another symbol.  This
         is a GNU extension to the a.out object file format which is
         rarely used.

   `N'
         The symbol is a debugging symbol.

   `R'
         The symbol is in a read only data section.

   `S'
         The symbol is in an uninitialized data section for small
         objects.

   `T'
         The symbol is in the text (code) section.

   `U'
         The symbol is undefined.

   `V'
         The symbol is a weak object.  When a weak defined symbol is
         linked with a normal defined symbol, the normal defined
         symbol is used with no error.  When a weak undefined symbol
         is linked and the symbol is not defined, the value of the
         weak symbol becomes zero with no error.

   `W'
         The symbol is a weak symbol that has not been specifically
         tagged as a weak object symbol.  When a weak defined symbol
         is linked with a normal defined symbol, the normal defined
         symbol is used with no error.  When a weak undefined symbol
         is linked and the symbol is not defined, the value of the
         symbol is determined in a system-specific manner without
         error.  Uppercase indicates that a default value has been
         specified.

   `-'
         The symbol is a stabs symbol in an a.out object file.  In
         this case, the next values printed are the stabs other field,
         the stabs desc field, and the stab type.  Stabs symbols are
         used to hold debugging information.  For more information,
         see *Note Stabs: (stabs.info)Top.

   `?'
         The symbol type is unknown, or object file format specific.

めも

  • ワークキュー
    INIT_WORK(&dev->task_work, blktest_task_work, dev);
    struct work_struct task_work;
  • ブロックデバイス
    • request 関数を呼ぶ前にランキューのロック(割り込み禁止)が要る
  • Windows
    • メモリ不足時に、C ドライブに空きがないとメモリの内容がおかしくなる?
    • もしくはメモリの故障か?
  • VirturalBox のコマンドライン起動
    D:\app\vbox\VBoxManage.exe startvm "Debian GNU/Linux"
  • initrd の再構成
    • こんなかんじよ
      cd initrd
      cpio -i --file=../initrd.img
      (編集)
      find . -print | cpio -o --file=../initrd_new.img --format=newc
    • gzip 圧縮しても読んでくれるので、容量が気になるなら gzip で圧縮する。
      zcat ../initrd.img | cpio -i
      (編集)
      find . -print | cpio -o --format=newc | gzip -9 > ../initrd_new.img
    • boot のパーティションにコピーして grub の設定を更新しませう
      cp initrd_new.img /boot/initrd-hogehoge
  • inline asm on gcc
    • http://www.mars.sannet.ne.jp/sci10/on_gcc_asm.html
    • 書式は以下の通り、難しいぞ…
      asm ("アセンブリコード" : 
           "指定文字列"  (出力先変数) : 
           "指定文字列"  (入力用の式や変数) : 
           "内容が破損するので退避したいレジスタ");
    • ローカルラベル(1f やら 1b など)
      • ローカルでない前方参照ラベルを持つコード片が挿入されると、デバッガは混乱するかも知れません。ラベル名を新しい関数の入り口と受け取るからです。この混乱を回避するために、新しい関数を宣言するときだけローカルでないラベルを使用し、他の用途には使用しないで下さい。これらのラベルへの参照は数値に続き文字b(backward)またはf(forward)からなります。これらのローカルラベルはソースファイル内で再使用されます。参照は与えられた方向(forward/backward)で最も近い同じ番号のラベルを採用します。
    • ローカルラベルの例
      2:
      ...
      ...
      jmp 2b #-> jump backward label
      
      jmp 3f #-> jump forward label
      ...
      ...
      3:
  • patch
    • 元のファイル名 + ".org" という名前のバックアップを残しつつパッチを当てる
    • (※)既に同名の .org ファイルがあるときは上書きされるので注意が必要
      patch -p1 -b --version-control=simple --suffix=.org < a.patch
  • ICカードの形式
    • 接触型(ISO/IEC 7816)
    • 非接触型
    • 密着型(ISO/IEC 10536) 通信距離は2ミリまで
    • 近接型(ISO/IEC 14443) 通信距離は10センチまで
    • 近傍型(ISO/IEC 15693) 通信距離は70センチまで
    • 遠隔型 通信距離は70センチ以遠
  • .NET のネイティブイメージジェネレータの状況を見る
    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe executequeueditems
  • 見えないドライバを見る
    • Windows Optimize Guides
    • http://mywebpages.comcast.net/SupportCD/index.html
      Secret - Phantom Devices
      set devmgr_show_nonpresent_devices=1
      start devmgmt.msc
      Instructions - Go to the "Control Panel", "System" icon, "Hardware" tab
      select "Device Manager". Select "View" and Show hidden devices.
  • エクスプローラのフォルダビューから [マイドキュメント] を消す
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
      CurrentVersion\Explorer\Desktop\NameSpace\
    • のなかのどれかを適当に名前変える。
    • IEのアイコンの消し方は不明…。
  • マイコンピュータ内の [username のドキュメント] を消す
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
      CurrentVersion\Explorer\Shell Folders
    • または
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
      CurrentVersion\Explorer\User Shell Folders
    • からそれっぽいものを消す?※やったら、おかしくなった。やらないほうがいい。
  • マイコンピュータ内の [Documents] を消す
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
      CurrentVersion\Explorer\MyComputer\NameSpace\DelegateFolders
    • のなかのどれかを適当に名前変える?
  • コンソールのキー割り当ては kbdconfig で設定できる。Debian の場合は dpkg-reconfigure console-data のラッパーらしいけど。
  • OpenOffice.org がコンパイルできた。だいたい一日と 4時間かかった。全部の言語を有効にしたせいですごい時間かかった模様…。
  • 自分で gdb の bt のようなスタックバックトレースを表示させたければ、backtrace 関数と、backtrace_symbols_fd 関数が便利である
  • Shift JIS が JIS 規格の参考部分に載った、という記述を見かけた。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-07-31 (火) 17:57:27 (49d)