Tips/APPs TIPs2008. 10. 9. 10:07

소스코드 포매터 혹은 beautifer로 Astyle(http://astyle.sourceforge.net)을 쓴다. 현재 1.22 버전이 나와 있는데 이전에는 리눅스 환경에서만 썼기 때문에 몰랐는데 윈도우 환경에서 쓰려고 하니 기본 옵션 파일을 인식하지 못하는 문제가 있는 것을 발견했다. 소스 코드를 새로 받아 버그를 수정하여 돌리니 정상적으로 돌았다.


Asytle Source Code에서 윈도우 환경에서 정상적으로 옵션 파일 경로를 찾게 하기 위해서는 다음과 같이 astyle_main.cpp 소스코드의 main 함수 내에 옵션 파일을 찾는 부분을 수정해야 한다(향후 이 부분은 수정이 되어 나올 것으로 예상되지만 2008년 11월 받은 최신 소스코드에는 문제가 있다)


#ifdef _WIN32 /*추가*/
        /*추가해야 하는 부분*/
        optionsFileName = string(env) + string("\\astylerc");
#else /*추가*/
       optionsFileName = string(env) + string("/astylerc");/*원본*/
#endif /*추가*/





다음에 참고하기 위해서 내가 사용하고 있는 옵션 파일을 적어둔다.




--verbose

--style=ansi

--force-indent=tab=4

--brackets=break

--indent-classes

--indent-switches

--indent-namespaces

--indent-labels

Posted by young.h.rhie
Tips/APPs TIPs2008. 7. 24. 14:53
macro getYYYYMMDDDate()
{

    date = GetSysTime(True)
    curr_year = date.Year

  nMonth = date.Month
  if(nMonth<10)
      curr_month="0@nMonth@"
  else
      curr_month="@nMonth@"

   // Get current day
   curr_day = date.day
   if( date.day < 10 )
   {
       curr_day = "0@curr_day@"
   }
 
    tmp_hour = date.hour

    curr_hour=tmp_hour
    if(curr_hour<10)
        curr_hour="0@curr_hour@"

    curr_min = date.minute
    if(curr_min<10)
        curr_min="0@curr_min@"

    curr_sec = date.second
    if(curr_sec<10)
        curr_sec="0@curr_sec@"

    curr_time = "@curr_hour@:@curr_min@:@curr_sec@"

   szTmpDate = "@curr_year@.@curr_month@.@curr_day@(@curr_time@)"
   return szTmpDate
}

macro Paste_Today()
{
    szToday=getYYYYMMDDDate()
    buf=GetCurrentBuf()
    SetBufSelText(buf, szToday)
}

macro Paste_MYOWN_Comment()
{
    szMyName = "MY NAME"
    szDate = getYYYYMMDDDate()

    szComment = "/* by @szMyName@ @szDate@ */"
    buf=GetCurrentBuf()
    SetBufSelText(buf, szComment)
}


Posted by young.h.rhie
Tips/APPs TIPs2008. 5. 30. 15:51

소스코드를 별도로 보관하거나 다른 사람에게 전해주기 위해서 .svn 없이
받아오고 싶을 때가 있다. 이때는 checkout 대신 export 명령을 쓰면 된다.

예.

$ svn export svn://sample/repos -r 1999

Posted by young.h.rhie
Tips/APPs TIPs2008. 5. 28. 20:40

하고 싶은 일:
예를 들어, 10일 전에는 없던 문제가  지금은 나타나고 있다. 그래서 10일 전의 코드를 받아서 지금 버전과 비교 한 번 해보고 싶다.

임시 디렉토리를 만들고 거기 간다
$ cd ~/tmp
$ svn checkout  -r   {2008-03-10}

-r 다음에는 버전 번호를 붙여도 된다.
특정 리비전 번호로 받으려면 버전 번호를 붙이면 된다.

날짜 표시 부분은 다음과 같은 형식도 가능하다.

$ svn checkout -r  {2008-02-17}
$ svn checkout -r  {17:30}
$ svn checkout -r  {"2008-02-17 15:30"}

Posted by young.h.rhie
Tips/APPs TIPs2008. 5. 1. 11:51
alias svndiff='svn diff --diff-cmd /usr/bin/diff -x -uwbB'
Posted by young.h.rhie
Tips/APPs TIPs2008. 2. 16. 00:47
HOW TO MERGE MULTIPLE BLANK LINES
-------------------------------------------------
blank.pl

#!/usr/bin/perl
$/ = "";
print <>;


-----------------------------------------

awk 1 RS= ORS="\n\n" srcFileName > destFileName


Posted by young.h.rhie