Ref. Doxygen
Ref. 簡介Doxygen
Ref. Doxygen Special Commands
Doxygen is a documentation system for C++, C, Java,
Objective-C, Python, IDL (Corba and Microsoft flavors),
Fortran, VHDL, PHP, C#, and to some extent D.
Ref. Graphivz
Graphviz - Graph Visualization Software
Wednesday, January 19, 2011
Wednesday, January 12, 2011
RC version of a program.
Ref. What is an RC version of a program?
Release Candidate, it means its a candidate for a final (official/finished) release of a program.
programs usually go Alpha>Beta>RC>Final.
alpha should be considered badly buggy.
beta should be considered buggy.
RC should be considered stable but may have some small bugs in it.
final is the final product (but not the last version ever).
Alpha's & Beta's (especialy Alpha's) are usually hidden or kept private to avoid normal people from using them to avoid support/troubleshooting problems since there pre-releases
these are development steps/phases, its for planning when they can release the finished version of that program
you could go thought 5 Alpha's, 3 Beta's & 1 or 2 RC's
its to iron out bugs & make sure the features the developers want are in it & in it stabily.
Release Candidate, it means its a candidate for a final (official/finished) release of a program.
programs usually go Alpha>Beta>RC>Final.
alpha should be considered badly buggy.
beta should be considered buggy.
RC should be considered stable but may have some small bugs in it.
final is the final product (but not the last version ever).
Alpha's & Beta's (especialy Alpha's) are usually hidden or kept private to avoid normal people from using them to avoid support/troubleshooting problems since there pre-releases
these are development steps/phases, its for planning when they can release the finished version of that program
you could go thought 5 Alpha's, 3 Beta's & 1 or 2 RC's
its to iron out bugs & make sure the features the developers want are in it & in it stabily.
Tuesday, January 4, 2011
uClibc and Glibc Differences
Ref:
Glibc_vs_uClibc_Differences.txt
uClibc v.s. glibc
Glibc, uClibc, Newlib
uClibc and Glibc are not the same -- there are a number of differences which may or may not cause you problems. This document attempts to list these differences and, when completed, will contain a full list of all relevant differences. 1) uClibc is smaller than glibc. We attempt to maintain a glibc compatible interface, allowing applications that compile with glibc to easily compile with uClibc. However, we do not include _everything_ that glibc includes, and therefore some applications may not compile. If this happens to you, please report the failure to the uclibc mailing list, with detailed error messages. 2) uClibc is much more configurable then glibc. This means that a developer may have compiled uClibc in such a way that significant amounts of functionality have been omitted. 3) uClibc does not even attempt to ensure binary compatibility across releases. When a new version of uClibc is released, you may or may not need to recompile all your binaries. 4) malloc(0) in glibc returns a valid pointer to something(!?!?) while in uClibc calling malloc(0) returns a NULL. The behavior of malloc(0) is listed as implementation-defined by SuSv3, so both libraries are equally correct. This difference also applies to realloc(NULL, 0). I personally feel glibc's behavior is not particularly safe. To enable glibc behavior, one has to explicitly enable the MALLOC_GLIBC_COMPAT option. 4.1) glibc's malloc() implementation has behavior that is tunable via the MALLOC_CHECK_ environment variable. This is primarily used to provide extra malloc debugging features. These extended malloc debugging features are not available within uClibc. There are many good malloc debugging libraries available for Linux (dmalloc, electric fence, valgrind, etc) that work much better than the glibc extended malloc debugging. So our omitting this functionality from uClibc is not a great loss. 5) uClibc does not provide a database library (libdb). 6) uClibc does not support NSS (/lib/libnss_*), which allows glibc to easily support various methods of authentication and DNS resolution. uClibc only supports flat password files and shadow password files for storing authentication information. If you need something more complex than this, you can compile and install pam. 7) uClibc's libresolv is only a stub. Some, but not all of the functionality provided by glibc's libresolv is provided internal to uClibc. Other functions are not at all implemented. 8) libnsl provides support for Network Information Service (NIS) which was originally called "Yellow Pages" or "YP", which is an extension of RPC invented by Sun to share Unix password files over the network. I personally think NIS is an evil abomination and should not be used. These days, using ldap is much more effective mechanism for doing the same thing. uClibc provides a stub libnsl, but has no actual support for Network Information Service (NIS). We therefore, also do not provide any of the headers files provided by glibc under /usr/include/rpcsvc. 9) uClibc's locale support is not 100% complete yet. We are working on it. 10) uClibc's math library only supports long double as inlines, and even then the long double support is quite limited. Also, very few of the float math functions are implemented. Stick with double and you should be just fine. 11) uClibc's libcrypt does not support the reentrant crypt_r, setkey_r and encrypt_r, since these are not required by SuSv3. 12) uClibc directly uses kernel types to define most opaque data types. 13) uClibc directly uses the linux kernel's arch specific 'stuct stat'. 14) uClibc's librt library currently lacks all aio routines, all clock routines, and all shm routines (only the timer routines and the mq routines are implemented).
Monday, January 3, 2011
SCHTASKS command.
Ref. Windows CMD commands
Create, delete, edit, list, start or stop a scheduled task.
Works on local or remote computers.
Create a task to run at 11 pm every weekday
SCHTASKS /Create /SC weekly /D MON,TUE,WED,THU,FRI /TN MyDailyBackup /ST 23:00:00 /TR c:\backup.cmd /RU MyDomain\MyLogin /RP MyPassword Now delete the task:
SCHTASKS /Delete /TN "MyDailyBackup" /f
Create, delete, edit, list, start or stop a scheduled task.
Works on local or remote computers.
Syntax: SCHTASKS /Create [Connect_Options] create_options SCHTASKS /Delete [Connect_Options] /TN taskname [/F] SCHTASKS /Query [Connect_Options] [/FO format] [/NH] [/V] SCHTASKS /Run [Connect_Options] /TN taskname SCHTASKS /End [Connect_Options] /TN taskname SCHTASKS /Change [Connect_Options] {[/RU username] [/RP password] [/TR taskrun]} /TN taskname Connect_Options: /S system #remote system (default is local) [/U username [/P password]] #submit job under this name create_options: [/RU username [/RP password]] #run job under this name /SC schedule [/MO modifier] #When to run, see below [/D day] #day = MON,TUE,WED,THU,FRI,SAT,SUN [/M months] #month=JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC. [/I idletime] #1 - 999 minutes (ONIDLE task only) /TN taskname /TR taskrun #Name and pathname for task /ST starttime #HH:MM:SS (24 hour) [/SD startdate] [/ED enddate] #start and end date "dd/mm/yyyy" options: /F Force delete, ignore warnings even if the task is currently runnning. /FO format Output format: TABLE, LIST, CSV /NH No header /V Verbose output
Examples:
Create a task to run at 11 pm every weekday
SCHTASKS /Create /SC weekly /D MON,TUE,WED,THU,FRI /TN MyDailyBackup /ST 23:00:00 /TR c:\backup.cmd /RU MyDomain\MyLogin /RP MyPassword Now delete the task:
SCHTASKS /Delete /TN "MyDailyBackup" /f
Sunday, January 2, 2011
[Note] linux free caches
Ref. Drop Caches
#Freeing the page cache echo 1 > /proc/sys/vm/drop_caches #Free dentries and inodes echo 2 > /proc/sys/vm/drop_caches #Free the page cache, dentries and the inodes echo 3 > /proc/sys/vm/drop_caches
Subscribe to:
Posts (Atom)