프로그램 사용/vi2010. 1. 27. 15:42
set 명령어 모음을 보려면(설정된 값들)

:set all 하면 나온다.
우르르르 나오긴 하는데 음.. 머가 먼지는 ㄱ-

:set all
--- 옵션 ---
  aleph=224           foldclose=          mousemodel=extend   swapfile
noarabic              foldcolumn=0        mousetime=500       swapsync=fsync
  arabicshape         foldenable        nonumber              switchbuf=
noallowrevins         foldexpr=0          numberwidth=4       synmaxcol=3000
noaltkeymap           foldignore=#        omnifunc=           syntax=cpp
  ambiwidth=single    foldlevel=0         operatorfunc=       tabline=
noautochdir           foldlevelstart=-1 nopaste               tabpagemax=10
noautoindent          foldmethod=manual   pastetoggle=        tabstop=8
noautoread            foldminlines=1      patchexpr=          tagbsearch
noautowrite           foldnestmax=20      patchmode=          taglength=0
noautowriteall        formatexpr=       nopreserveindent      tagrelative
  background=light    formatoptions=tcq   previewheight=12    tagstack
nobackup              formatprg=        nopreviewwindow       term=xterm
  backupcopy=auto     fsync               printdevice=      notermbidi
  backupext=~       nogdefault            printencoding=      termencoding=
  backupskip=/tmp/*   helpheight=20       printfont=courier noterse
nobinary              helplang=ko         printmbcharset=     textauto
nobomb              nohidden              printmbfont=      notextmode
  bufhidden=          history=50          prompt              textwidth=0
  buflisted         nohkmap               pumheight=0         thesaurus=
  buftype=          nohkmapp              quoteescape=\     notildeop
  cdpath=,,         nohlsearch          noreadonly            timeout
  cedit=^F          noicon                redrawtime=2000     timeoutlen=1000
  charconvert=        iconstring=         remap             notitle
nocindent           noignorecase          report=2            titlelen=85
  cinoptions=         iminsert=0        norevins              titlestring=
  cmdheight=1         imsearch=0        norightleft         nottimeout
  cmdwinheight=7      includeexpr=        ruler               ttimeoutlen=-1
  columns=87        noincsearch           rulerformat=        ttybuiltin
nocompatible          indentexpr=         scroll=28           ttyfast
  completefunc=     noinfercase         noscrollbind          ttymouse=xterm2
noconfirm           noinsertmode          scrolljump=1        ttyscroll=999
nocopyindent          isprint=@,161-255   scrolloff=0         ttytype=xterm
  cpoptions=aABceFs   joinspaces        nosecure              undolevels=1000
  cscopepathcomp=0    key=                selectmode=         updatecount=200
  cscopeprg=cscope    keymap=             shell=/bin/bash     updatetime=4000
  cscopequickfix=     keymodel=           shellcmdflag=-c     verbose=0
nocscopetag           keywordprg=man      shellquote=         verbosefile=
  cscopetagorder=0    langmap=            shelltemp           virtualedit=
nocscopeverbose       langmenu=           shellxquote=      novisualbell
nocursorcolumn        laststatus=1      noshiftround          warn
nocursorline        nolazyredraw          shiftwidth=8      noweirdinvert
  debug=            nolinebreak         noshortname           whichwrap=b,s
nodelcombine          lines=57            showbreak=          wildchar=<Tab>
  dictionary=       nolisp              noshowcmd             wildcharm=0
nodiff              nolist              noshowfulltag         wildignore=
  diffexpr=           listchars=eol:$   noshowmatch         nowildmenu
  diffopt=filler      loadplugins         showmode            wildmode=full
nodigraph             magic               showtabline=1       wildoptions=
  display=            makeef=             sidescroll=0        window=56
  eadirection=both    makeprg=make        sidescrolloff=0     winheight=1
noedcompatible        matchtime=5       nosmartcase         nowinfixheight
  encoding=utf-8      maxcombine=2      nosmartindent       nowinfixwidth
  endofline           maxfuncdepth=100  nosmarttab            winminheight=1
  equalprg=           maxmem=254460     nospell               winwidth=20
noerrorbells          maxmemtot=254460    spellfile=          wrap
  esckeys             menuitems=25        spelllang=en        wrapmargin=0
  eventignore=      nomodeline            spellsuggest=best   wrapscan
noexpandtab           modelines=5       nosplitbelow          write
noexrc                modifiable        nosplitright        nowriteany
  fileformat=unix   nomodified            startofline         writebackup
  filetype=cpp        more                statusline=         writedelay=0
nofkmap               mouse=              suffixesadd=
  backspace=indent,eol,start
  backupdir=.,~/tmp,~/
  breakat= ^I!@*-+;:,./?
  casemap=internal,keepascii
  cinkeys=0{,0},0),:,0#,!^F,o,O,e
  cinwords=if,else,while,do,for,switch
  comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
  commentstring=/*%s*/
  complete=.,w,b,u,t,i
  completeopt=menu,preview
  define=^\s*#\s*define
  directory=.,~/tmp,/var/tmp,/tmp
  errorfile=errors.err
  errorformat=%*[^"]"%f"%*\D%l: %m,"%f"%*\D%l: %m,%-G%f:%l: (Each undeclared identifier
 is reported only once,%-G%f:%l: for each function it appears in.),%f:%l:%c:%m,%f(%l):%
m,%f:%l:%m,"%f"\, line %l%*\D%c%*[^ ] %m,%D%*\a[%*\d]: Entering directory `%f',%X%*\a[%
*\d]: Leaving directory `%f',%D%*\a: Entering directory `%f',%X%*\a: Leaving directory
`%f',%DMaking %*\a in %f,%f|%l| %m
  fileencoding=utf-8
  fileencodings=ucs-bom,utf-8,default,latin1
  fileformats=unix,dos
  fillchars=vert:|,fold:-
  foldmarker={{{,}}}
  foldopen=block,hor,mark,percent,quickfix,search,tag,undo
  foldtext=foldtext()
  formatlistpat=^\s*\d\+[\]:.)}\t ]\s*
  grepformat=%f:%l:%m,%f:%l%m,%f  %l%m
  grepprg=grep -n $* /dev/null
  guicursor=n-v-c:block,o:hor50,i-ci:hor15,r-cr:hor30,sm:block
  helpfile=/usr/share/vim/vim72/doc/help.txt
  highlight=8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMs
g,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visua
l,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:Di
ffDelete,T:DiffText,>:SignColumn,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu
,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColum
n,.:CursorLine
  include=^\s*#\s*include
  indentkeys=0{,0},:,0#,!^F,o,O,e
  isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=
  isident=@,48-57,_,192-255
  iskeyword=@,48-57,_,192-255
  lispwords=defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,do*,defin
e-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,defparameter,defstruct,
deftype,defvar,do-all-symbols,do-external-symbols,do-symbols,dolist,dotimes,ecase,etype
case,eval-when,labels,macrolet,multiple-value-bind,multiple-value-call,multiple-value-p
rog1,multiple-value-setq,prog1,progv,typecase,unless,unwind-protect,when,with-input-fro
m-string,with-open-file,with-open-stream,with-output-to-string,with-package-iterator,de
fine-condition,handler-bind,handler-case,restart-bind,restart-case,with-simple-restart,
store-value,use-value,muffle-warning,abort,continue,with-slots,with-slots*,with-accesso
rs,with-accessors*,defclass,defmethod,print-unreadable-object
  matchpairs=(:),{:},[:]
  maxmempattern=1000
  mkspellmem=460000,2000,500
  nrformats=octal,hex
  paragraphs=IPLPPPQPP TPHPLIPpLpItpplpipbp
  path=.,/usr/include,,
  printexpr=system('lpr' . (&printdevice == '' ? '' : ' -P' . &printdevice) . ' ' . v:f
name_in) . delete(v:fname_in) + v:shell_error
  printheader=%<%f%h%m%=페이지 %N
  printoptions=paper:a4
  rightleftcmd=search
  runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/
usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
  scrollopt=ver,jump
  sections=SHNHH HUnhsh
  selection=inclusive
  sessionoptions=blank,buffers,curdir,folds,help,options,tabpages,winsize
  shellpipe=2>&1| tee
  shellredir=>%s 2>&1
  shortmess=filnxtToO
  spellcapcheck=[.?!]\_[\])'"^I ]\+
  suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.
out,.toc
  tags=./tags,./TAGS,tags,TAGS
  titleold=빔을 날게 해 주셔서 고맙습니다
  viewdir=~/.vim/view
  viewoptions=folds,options,cursor
  viminfo='100,<50,s10,h



[링크 : http://www.eng.hawaii.edu/Tutor/vi.html]
Posted by 구차니
프로그램 사용/VLC2010. 1. 26. 17:56
Youtube의 Asteroid Impact (HD) 를 play 하는데 필요한 모듈을 캡쳐했다.



리눅스쪽이 녹색, 윈도우쪽이 파란색이다.
일단 눈에 띄는 차이점은, audio output과 video ouput 부분이다.

'프로그램 사용 > VLC' 카테고리의 다른 글

VLC cross compile시 오류 (vlc-1.0.4)  (0) 2010.02.03
VLC 1.0.4 cross compile + busybox  (0) 2010.02.02
VLC로 youtube 동영상 감상하기  (0) 2010.01.26
youtube mobile on VLC  (0) 2010.01.18
VLC compile [링크]  (0) 2010.01.15
Posted by 구차니
프로그램 사용/VLC2010. 1. 26. 13:43
youtube는 주소가 아래와 같이 http로 나온다.
http://www.youtube.com/watch?v=Hz86TsGx3fc


혹시나 해서 VLC의 네트워크 스트리밍플레이 기능에 주소를 넣었더니!!


알아서 잘 재생한다 OTL


http://youtube.com/get_video?video_id=Hz86TsGx3fc&t=vjVQa1PpcFPX_-4fVcvo3Rpy39pZ_nwt5-HPSBmsva0%3D
http://youtube.com/get_video?video_id=Hz86TsGx3fc&t=vjVQa1PpcFPs3v8rnDY3-mp1ptSqFzKAem6jcmYB2tY%3D&fmt=35

위의것은 기본 주소로 플레이한 주소이고
아래것은 기본 주소에 &fmt=35 옵션을 주어 플레이한 주소이다.
중간의 파란색은 token 값 같은데 플레이마다 변화되는듯 하다.

유튜브 페이지를 열어서 소스를 보니
    <script type="text/javascript">
        ...
        yt.setConfig({
            'SWF_ARGS':
                   ...
                   {"t": "vjVQa1PpcFPGZu0xo_69WU8f__RZMX6s3tda2xfxQ44%3D"},
                   ...
            });

이런식으로 "t" 변수에 값을 넣어준다.
다른 문서들에 비하면 "&t="를 찾아라고 하는데, 시간이 지나면서 내용이 변경된듯 하다.

아무튼, fmt=35로 하면 아래와 같이 h264로 재생이 된다.


[링크 : http://darksoft.co.kr/410]
[링크 : http://hallang.tistory.com/217]

'프로그램 사용 > VLC' 카테고리의 다른 글

VLC 1.0.4 cross compile + busybox  (0) 2010.02.02
의미는 없는 Linux / Windows VLC 차이  (0) 2010.01.26
youtube mobile on VLC  (0) 2010.01.18
VLC compile [링크]  (0) 2010.01.15
ffmpeg + AMR + x264 + VLC?  (0) 2010.01.14
Posted by 구차니
gprof는 기본적으로 flat view로 출력된다.
index % time    self  children    called     name
                0.00    0.00     100/100         tt [3]
[1]      0.0    0.00    0.00     100         aa [1]
-----------------------------------------------
                0.00    0.00     100/100         tt [3]
[2]      0.0    0.00    0.00     100         bb [2]
-----------------------------------------------
                0.00    0.00     100/100         main [9]
[3]      0.0    0.00    0.00     100         tt [3]
                0.00    0.00     100/100         aa [1]
                0.00    0.00     100/100         bb [2]
-----------------------------------------------
아무튼 아래와 같은 형식의 출력이 보이는데, 참 봐도 무슨 소리인지 모르겠다.

간단하게 생각하자면
[%d] 값은 함수이고, 숫자 나온 것에 대한 구조를 보여준다.
[1] 은 aa() 를 실행한 녀석이 tt() 이라는 의미이고
[2] 는 bb() 를 실행한 녀석이 tt()
[3] 는 tt()를 실행한 녀석이 main() 이라는 이야기이다.

tt()
{
  aa();
  bb();
}

main()
{
   tt();
}

이런 구조를 지니게 된다.

만약, 하나의 함수를 여러개에서 호출한다면
위와 같이 [%d] 위에 하나씩 있는게 아니라 여러개가 나타나게 된다.

아래는 Kprof에서 실행한 결과이다.(main 함수는 어디로 가출한겨 ㄱ-)





'프로그램 사용 > gcov, gprof' 카테고리의 다른 글

gcov와 gcovr  (0) 2023.07.20
gcovr - gocv 를 html로  (0) 2023.07.10
gprof gui  (0) 2023.07.10
gcc -p -pg  (0) 2016.02.25
gcov, gprof  (0) 2010.01.23
Posted by 구차니
프로그램 사용/coLinux2010. 1. 23. 20:49
colinux가 예전에 user mode linux라고 듣기는 했지만,
그게 UML 이라고 생각을 전혀 하지 못하다니 ㄱ-

아무튼 UML을 이용해서 독립적으로 구동되게 한것이 바로 colinux 이고,
가상화의 한종류 중에 하나이기도 하다.

[링크 : http://www.hanb.co.kr/network/view.html?bi_id=1395]  UML vs KML
[링크 : http://www.hanb.co.kr/network/view.html?bi_id=267] 시스템 재해 복구 연습 해보기

[링크 : http://www.colinux.org/]
[링크 : http://user-mode-linux.sourceforge.net/]
Posted by 구차니
gcov - coverage testing tool
[링크 : http://korea.gnu.org/manual/release/gcov/gcov_1.ko.html]
[링크 : http://linux.die.net/man/1/gcov]

gcov 는 사용하지 않는 함수를 찾는데 유용한 유틸리티 이다.
이녀석을 사용하기 위해서는 컴파일시 -fprofile-arcs -ftest-coverage 두개의 옵션을 줘야 하는데
gcc 문서를 보니 아래와 같이 --coverage 하나만 주어도 무방할 것으로 보인다.(2010.01.24 추가 : --coverage만 해도 된다)
위의 옵션을 주고 컴파일을 하면, [파일명.gcno] 라는 파일이 생성되고,
파일을 실행하면 [파일명.gcda] 라는 파일이 생성된다. gcov [소스파일] 을 입력하면 분석을 한다.

-fprofile-arcs
    Add code so that program flow arcs are instrumented. During execution the program records how many times each branch and call is executed and how many times it is taken or returns. When the compiled program exits it saves this data to a file called auxname.gcda for each source file. The data may be used for profile-directed optimizations (-fbranch-probabilities), or for test coverage analysis (-ftest-coverage). Each object file's auxname is generated from the name of the output file, if explicitly specified and it is not the final executable, otherwise it is the basename of the source file. In both cases any suffix is removed (e.g. foo.gcda for input file dir/foo.c, or dir/foo.gcda for output file specified as -o dir/foo.o).

--coverage
    This option is used to compile and link code instrumented for coverage analysis. The option is a synonym for -fprofile-arcs -ftest-coverage (when compiling) and -lgcov (when linking). See the documentation for those options for more details.

-ftest-coverage
    Produce a notes file that the gcov code-coverage utility can use to show program coverage. Each source file's note file is called auxname.gcno. Refer to the -fprofile-arcs option above for a description of auxname and instructions on how to generate test coverage data. Coverage data will match the source files more closely, if you do not optimize.

[링크 : http://linux.die.net/man/1/gcc]



gprof - display call graph profile data
[링크 : http://linux.die.net/man/1/gprof]
[링크 : http://kprof.sourceforge.net/] + [링크 : http://www.graphviz.org/]

프로파일링은 어떤 함수가 몇번이나 불려지고(call), 누가 이 함수를 부르는지(call tree)
그리고 어떤 함수가 실행하는데 오래걸리는지를 분석하는 방법이다.
일반적으로 -pg 옵션을 주고 컴파일 한뒤, 한번 실행하면 프로파일링 파일이 생성된다.(정상종료 되어야 생성됨)

프로그램 실행이후에는 gmon.out 파일이 생성되고, 이 파일을 이용하여 분석한다.

-p
Generate extra code to write profile information suitable for the analysis program prof. You must use this option when compiling the source files you want data about, and you must also use it when linking.

-pg
Generate extra code to write profile information suitable for the analysis program gprof. You must use this option when compiling the source files you want data about, and you must also use it when linking.

[링크 : http://linux.die.net/man/1/gcc]



"리눅스 디버깅과 성능 튜닝 - 오픈소스 도구를 사용한 문제 원인 발견과 해결"
[링크 : http://www.yes24.com/24/goods/1948002?scode=032&srank=1]

'프로그램 사용 > gcov, gprof' 카테고리의 다른 글

gcov와 gcovr  (0) 2023.07.20
gcovr - gocv 를 html로  (0) 2023.07.10
gprof gui  (0) 2023.07.10
gcc -p -pg  (0) 2016.02.25
gprof flat view 이해하기  (0) 2010.01.24
Posted by 구차니
프로그램 사용/u-boot2010. 1. 22. 19:50
denx.de에 나온 메시지는 아래와는 좀 다른데,

GUNZIP ERROR - must RESET board to recover
에러가 발생할경우, 메모리가 부족해서 겹쳐서 제대로 압축을 해제하지 못했을 가능성이 있다고 한다.
그것도 아니라면.. 도대체 머가 문제일까?

   Verifying Checksum ... OK
   Uncompressing Kernel Image ... Error: Bad gzipped data
GUNZIP ERROR - must RESET board to recover

[링크 : http://www.denx.de/wiki/view/DULG/Manual]
    [링크 : http://www.denx.de/wiki/view/DULG/HowCanILoadAndUncompressACompressedImage]
    [링크 : http://www.denx.de/wiki/view/DULG/LinuxHangsAfterUncompressingKernel]
    [링크 : http://www.denx.de/wiki/view/DULG/LinuxUncompressingError]
Posted by 구차니
프로그램 사용2010. 1. 20. 14:43


다운로드 & 게임고고싱 ㅋㅋ
한번 받아서 2000년까지 왔는데 증기기관도 못 만들었어 ㅠ.ㅠ

[링크 : http://freeciv.wikia.com/wiki/Main_Page]
[링크 : http://sourceforge.net/projects/freeciv/] << 다운로드

'프로그램 사용' 카테고리의 다른 글

IE8 에서 APM 접속시 (인트라넷)  (0) 2010.04.03
X-LUK DBC-UP 모니터 프로그램 :: somikon  (0) 2010.02.18
Cooliris (piclens)  (6) 2010.01.05
Fast Picture Viewer 제한사항  (0) 2009.12.27
BeeGIF - 대박 GIF 프로그램!  (2) 2009.12.13
Posted by 구차니
libxtst-dev 와
libgtk2.0-dev를 필요로 한다.


아무튼, CellWriter의 구조상.. 논리적 오류로
모든 변수들이 int 형이지, unsigned int형이 존재하지 않는다.

즉, 한글의 영역인 0xAC00은 마이너스 값으로 인식해서 제대로 계산을 하지 못한다.

수정할 곳은

common.h 46 line
typedef struct {
        short enabled;
        const unsigned int start, end;
        const char *name;
} UnicodeBlock;

cellwidget.c 1793 line
void cell_widget_train(void)
{
        UnicodeBlock *block;
        unsigned int i, pos, range;

        stop_timeout();

        /* Save cells */
        if (!training) {
                cells_saved = cells;
                cell_rows_saved = cell_rows;
                cell_cols_saved = cell_cols;
                cell_row_view_saved = cell_row_view;
                cells = NULL;
                cell_row_view = 0;
        }

        /* Clear if not training any block */
        if (training_block < 0) {
                free_cells();
                pack_cells(1, cell_cols);
                cell_widget_render();
                return;
        }

        /* Pack the Unicode block's characters into the cell grid */
        block = unicode_blocks + training_block;
        range = block->end - block->start + 1;
        training = TRUE;
        pack_cells((range + cell_cols - 1) / cell_cols, cell_cols);

        /* Preset all of the characters for training */
        for (i = 0, pos = 0; i < range; i++) {
                unsigned short ch;

                ch = block->start + i;
                if (char_disabled(ch))
                        continue;
                cells[pos].ch = ch;
                cells[pos].alts[0] = NULL;
                cells[pos++].flags = 0;
        }
        range = pos;
        for (; pos < cell_rows * cell_cols; pos++)
                clear_cell(pos);
        pack_cells(1, cell_cols);

        unclear(FALSE);
        cell_widget_render();
}


음.. 생각해보니
ㅋㅋㅋ 이런 자소도 있어야지 이모티콘을 쓰니 이녀석들을 위해 Jamo도 복구를 해야겠다.

그런데 대충 12000 자 인데.. 언제 학습시키지? ㄱ-

'프로그램 사용 > CellWriter' 카테고리의 다른 글

CellWriter 소스코드  (0) 2010.01.18
CellWriter - 리눅스용 필기인식 프로그램  (2) 2009.12.29
Posted by 구차니
C:\cellwriter-1.3.4\src\window.c
849            { FALSE, 0x1100, 0x11FF, "Hangul Jamo" },
911            { FALSE, 0x3130, 0x318F, "Hangul Compatibility Jamo" },
927            { FALSE, 0xAC00, 0xD7AF, "Hangul Syllables" },


음.. 내용을 검색해보니 window.c 에서 Hangul 이라는 키워드가 검출 되었다.

WindowsXP "굴림" 문자표 검색을 해보니
 Hangul Syllable (음절) 링크
 0xAC00 ~ 0xD7A3
 Hangul Choseong (초성)  0x1100 ~ 0x115F
 Hangul Jungseon (중성)  0x1160 ~ 0x11A2
 Hangul jongseon (종성)  0x11A8 ~ 0x11F9
이렇게 구분이 된다.

Unicode.org 에서

Hangul Jamo

Hangul Jamo Extended-A

Hangul Jamo Extended-B

Hangul Compatibility Jamo

Halfwidth Jamo

Hangul Syllables (.7MB)


이렇게 구분되긴 하지만, 실질적으로 우리가 보는 조합된 문자는 Syllabels에 들어있다.
그나저나.. Syllabels만 해도 11,171 글자인데.. 어느 세월에 학습을 하고 직접 입력을 하나 ㄱ-

2009/12/29 - [Linux/Ubuntu] - CellWriter - 리눅스용 필기인식 프로그램

Posted by 구차니