1. Òý×Ó
int a;
int size = 8;
Èç¹ûÈÃaΪ(size =8)µÄÕûÊý±¶±íʾ³É¶þ½øÖÆÓ¦ÊÇʲôÑù×ÓÄØ£¿ÄǾÍÊÇÈÃÕâ¸öÊý±íʾ³É¶þ½øÖÆÊ±µÄ×îºóÈýλΪ0.
¶øÒª´ïµ½ÕâһĿ±ê£¬Ö»ÒªÏÂÃæÕâ¸öÊýÓëËü½øÐÐÓëÔËËã¾Í¿ÉÒÔÁË:
11111111 11111111 11111111 11111000
¶øÉÏÃæÕâ¸öÊýʵ¼ÊϾÍÊÇ ~ (size - 1)£¬¿ÉÒÔ½«¸ÃÊý³ÆÎªsizeµÄ¶ÔÆëÑÚÂësize_mask.
¿ÉÕâÑù×öÇó³öµÄÊDZÈaСµÄÄǸö×î´óµÄ8µÄ±¶Êý. Èç¹ûÒªÇó³ö±Èa´óµÄÊDz»ÊÇÐèÒª¼ÓÉÏ8¾Í¿ÉÒÔÁË?
¿ÉÊÇÈç¹ûa±¾Éí¾ÍÊÇ8µÄ±¶Êý, ÕâÑù¼Ó8²»¾Í´íÁËÂð, ËùÒÔÔÚa»ù´¡ÉϼÓÉÏ size - 1, È»ºóÓësizeµÄ¶ÔÆëÑÚÂë½øÐÐÓëÔËËã.
ÕâÑù, ÎÒÃÇ¿ÉÒÔ¶¨ÒåÏÂÃæµÄºê, ÓÃÓÚ¼ÆËãÒ»¸öÊýaÒÔsizeΪ±¶ÊýµÄǰºóÁ½¸öÖµ£º
#define alignment_down(a, size) (a & (~(size-1)) )
#define alignment_up(a, size) ((a+size-1) & (~ (size-1)))
ÀýÈç:
a=0, size=8, Ôòalignment_down(a,size)=0, alignment_up(a,size)=0.
a=6, size=8, Ôòalignment_down(a,size)=0, alignment_up(a,size)=8.
a=8, size=8, Ôòalignment_down(a,size)=8, alignment_up(a,size)= ......
²Î¿¼ÍøÖ·£º
http://trac.edgewall.org/wiki/TracInstall
http://trac.edgewall.org/wiki/TracInstallPlatforms
http://trac.edgewall.org/wiki/TracOnRhel5
http://dag.wieers.com/rpm/FAQ.php#B
http://tech.idv2.com/2008/12/26/install-trac-on-linux/
Èí¼þÏÂÔØµØÖ·£º
trac:http://trac.edgewall.org/wiki/TracDownload
Genshi:http://genshi.edgewall.org/wiki/Download
pysqlite:http://download.chinaunix.net/download/0009000/8596.shtml
±¾ÎÄËùÓÃLinux·¢ÐаæÎªCentOS5.3°æ±¾£¬httpdΪϵͳ×Ô´ø°æ±¾Îª2.2.3£¬ËùÓÃtrac°æ±¾Îª0.11.5£¬ËùÓÃGenshi°æ±¾Îª0.5.1£¬ËùÓÃpysqlite°æ±¾Îª2.5.5
°²×°TracËù±ØÐëµÄÈí¼þ£º
Python >= 2.3
×¢Ò⣺Èç¹ûÊÇÓÃrpm°²×°µÄpython£¬ÄÇô»¹ÐèÒª°²×°python-develºÍpython-xml°ü¡£
Genshi >= 0.5
¿ÉÑ¡µÄsubversion >= 1.0£¨ÍƼö>=1.1.x£©ºÍsubversionµÄSWIG Python°ó¶¨
PySQLite£¬ÐèÒªÓÃÓÚSQLite 3.x°æ±¾µÄPySQLite 2.x°æ
¿ÉÔËÐÐCGIµÄWeb·þÎñÆ÷
½ÓÏÂÀ´¾ÍÏȽâ¾öÕâЩǰÌáÌõ¼þ
1¡¢ÐÞ¸ÄyumÔ´ÒÔÔö¼Ótrac
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
2¡¢°²× ......
Emebedded System and Application(Linux)
Goal
--
ÕÆÎÕǶÈëʽϵͳ¿ª·¢µÄÁ÷³Ì£¬ÏµÍ³ÒÆÖ²µÄ·½·¨£¬±àдBootloader
(Be familiar with the process of ES Developing
, System Migration
amd Bootloader Programming
)
Requriement
--
C¡¢C++¡¢Data Structure¡¢Operating System¡¢Linux¡¢Electronic circuit
Content
--
1
Linux ¿ìËÙÈëÃÅ
Linux ¸ÅÊö£» Linux·¢Ðа棻
Linux¿ª·¢»·¾³´î½¨£vmwareÐéÄâ»ú£»Linuxϵͳ°²×°
LinuxµÄ»ù´¡ÖªÊ¶£» LinuxÎļþϵͳºÍÎļþ£» ShellµÄʹÓã»
³£ÓõÄshellÃüÁLinuxµÄÈí¼þ°²×°£»
Linux ϵÄCÓïÑÔ±à³Ì»ù´¡£»LinuxÏÂVIMµÄʹÓã»
±àÒëÆ÷GCCµÄʹÓ㻵÷ÊÔÆ÷gdbµÄʹÓã»
Linux϶àÎļþ±àÒëÓëÏîÄ¿¹ÜÀí¹¤¾ßmakeµÄʹÓã»
2
CÓïÑÔ»ù´¡Ç¿»¯
CÓïÑÔÓï·¨
CÓïÑÔµÄÄÚ´æ²¼¾ÖÓë³£¼û¿âº¯Êý
3
Êý¾Ý½á¹¹»ù´¡Ç¿»¯
Á´±í¡¢¶ÓÁС¢Õ»¡¢Ê÷¡¢¹þÏ£±í
Êý¾ÝËÑË÷¡¢±éÀú¡¢ÅÅÐòÓë³£¼ûËã·¨
4
C++ÓïÑÔ»ù´¡Ç¿»¯
ÃæÏò¶ÔÏóµÄ±à³Ì·½·¨ À༰¶ÔÏóµÄ·â×° ÀàµÄ¼Ì³ÐÓëÅÉÉú
Ð麯ÊýÓë¶à̬ÐÔ ¹¹Ô캯ÊýÓëÐé¹¹º¯Êý Ä£°å Òì³£´¦Àí
5
ARMÓ²¼þ½Ó¿Ú
ǶÈëʽ΢´¦ÀíÆ ......
1. LinusºÍBill
ËÆºõÔÚÒ»Ò¹Ö®¼ä£¬Õâ¸öÃû×ÖͻȻ±äµÃͬÏó±È¶û¡£¸Ç´ÄÒ»ÑùµÄ¶úÊìÄÜÏê¡£µ«ÊDZȶû¡£¸Ç´Ä£¬
ÄÄÅÂÉí¼ÛÓÐÊý²»Çå±¶µÄ°ÙÍòÃÀ½ð£¬Ò²ÓÀÔ¶²»»á±ä³ÉLinux Torvalds¡£Õâλ29ËêµÄ·ÒÀ¼ÈË£¬
¼òµ¥¶øÇ¿´óµÄLinux²Ù×÷ϵͳµÄ´´ÔìÕߣ¬³¬Ô½Á˸ǴĵÄÉñ»°¡£Ò²Óд«ÎÅ˵¸Ç´ÄÊÇÒ»¸ö
׿ԽµÄ³ÌÐòÔ±£¬µ«LinusÊÇ»õÕæ¼ÛʵµÄ¸ßÊÖ¡£»¹ÔÚ´óѧÀïʱËû¾ÍÍê³ÉÁËÒ»¸ö»õÕæ¼ÛʵµÄ²Ù×÷ϵͳ¡£
ÄêÇáʱµÄ¸Ç´Ä°Ñ¿½±´Ëû×Ô¼ºÆ½Ó¹µÄ³ÌÐòµÄ³ÌÐòԱͬÐгÆÎª“Ôô”£¬¶ø¿¶¿®µÄLinus°ÑËûµÄ
½Ü×÷ÓëÈ«ÊÀ½ç¹²Ïí¡£ÄĸöÈË£¬ÄÄÖÖÔ˶¯»áȡʤ£¬Ò²Ðí»á¾ö¶¨¼¼Êõ·¢Õ¹µÄδÀ´¡£
Á½Äê֮ǰ£¬Èç¹ûÓÐË˵¼¼Êõ¾ÞÈ˺Í΢ÈíµÄÇ×ÃܺÏ×÷»ï°éHP£¬»áæ×ű£Ö¤ËýÉú²úµÄµçÄÔ˳Àû
ÔËÐÐLinux£¬ÄÇ»áÊÇÌ췽ҹ̷¡£µ«Linus²ÉÈ¡µÄ¿ª·¢Ä£Ê½£¬ÑûÇëÈ«ÊÀ½ç¹²ÏíºÍ¸Ä½øËûµÄ¸öÈË
Ô´´£¬´Ó¶øÒý·¢ÁËÒ»³¡¸ïÃü¡£»³ÒÉÂÛÕß¾õµÃ΢ÈíÃæ¶ÔÃÀ¹ú˾·¨²¿µÄÆðËߣ¬°ÑLinux±êΪֵµÃÖØÊÓ
µÄ¾ºÕù¶ÔÊÖ£¬Ö»ÊÇÔÚÖÆÔì¼ÙÏëµÐ£¬ÒÔÏ´ÍÑ¢¶ÏµÄ×ïÃû¡£µ«Î¢Èí͸¶µÄÕæÏàÒ²Ðí±ÈËûÃÇÏëÏóµÃ¶à¡£
È¥ÄêËêÄ©£¬Ò»·Ý³Æ×÷“ÍòÊ¥½ÚÎĵµ”µÄ΢ÈíÄÚ²¿°×ƤÊéй¶µ½Ã½Ì壬ËüµÄ½áÂÛÒ²Ðí»áÈøǴÄ˯²»°²ÇÞ¡£
Linus±»²»ÉÙÈËÈÏΪÊÇ¿ª·ÅÔ´ÂëÈí¼þ£¨open source software£©µÄ×î¼Ñ´ú±íÈËÎï£ ......
¡¡¡¡ÊµÏÖ¹¦ÄÜ£ºµ±Óû§ÔÚ±¾µØ¿Í»§¶ËijĿ¼ÄÚ½¨Á¢¡¢Ð޸ġ¢É¾³ýĿ¼»òÎļþ¡¢ÐÞ¸ÄĿ¼»òÎļþµÄÊôÐÔ£¬Ö»ÒªÖ´ÐÐÏàͬµÄshell½Å±¾£¬rsync¾Í»á×Ô¶¯ÕÒ³öÓи͝»òɾ³ýµÄÊý¾Ý£¬½«Æä´«Ë͵½·þÎñÆ÷ÉÏ£¬Ê¹·þÎñÆ÷¶ËijĿ¼ÄÚµÄÊý¾Ý¸ú±¾µØ¿Í»§¶ËijĿ¼ÄÚµÄÊý¾Ý±£³ÖÒ»Ö¡£
¡¡¡¡¡ï·½Ê½Ò»£º
¡¡¡¡Ò»¡¢·þÎñÆ÷¶Ë£¨Àý£º10.0.0.1*£©£º
¡¡¡¡1¡¢´´½¨Óû§ºÍ×é
groupadd www -g 48
useradd -u 48 -g www www
mkdir -p /opt/htdocs
chmod +w /opt/htdocs
chown www:www /opt/htdocs
¡¡¡¡2¡¢±à¼rsyncµÄÅäÖÃÎļþ
vi /etc/rsyncd.conf
¡¡¡¡ÊäÈëÒÔÏÂÄÚÈÝ£º
ÒýÓÃ
uid=www
gid=www
max connections=10
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
[zhangyan]
path=/opt/htdocs
comment = my htdocs
ignore errors
read only = no
hosts allow=10.0.0.21 10.0.0.22
¡¡¡¡3¡¢Æô¶¯rsync·þÎñÆ÷¶Ë
/usr/bin/rsync --daemon
¡¡¡¡¶þ¡¢¿Í»§¶Ë£¨Àý£º10.0.0.21ºÍ10.0.0.22£©£º
¡¡¡¡1¡¢´´½¨Ò»¸öshell½Å±¾push.sh
vi push.sh
¡¡¡¡ÊäÈëÒÔÏÂÄÚÈÝ£¨10.0.0.1*ÎªÒªÍÆË͵½µÄÄ¿±ê·þÎñÆ÷£¬zhangyanΪ·þÎñÆ÷¶Ërsyncd.confÅäÖÃÎļþÖеÄÄ£¿éÃû ......
Linux LVM µÄʹÓÃÏê½â
http://blog.csdn.net/icejadelove/archive/2009/10/30/4747657.aspx
ÕªÒª£ºLinuxÓû§°²×°Linux²Ù×÷ϵͳʱÓöµ½µÄÒ»¸ö×î³£¼ûµÄÄÑÒÔ¾ö¶¨µÄÎÊÌâ¾ÍÊÇÈçºÎÕýÈ·µØ¸øÆÀ¹À¸÷·ÖÇø´óС£¬ÒÔ·ÖÅäºÏÊʵÄÓ²Å̿ռ䡣¶øÓöµ½³öÏÖij¸ö·ÖÇø¿Õ¼äºÄ¾¡Ê±£¬½â¾öµÄ·½·¨Í¨³£ÊÇʹÓ÷ûºÅÁ´½Ó£¬»òÕßʹÓõ÷Õû·ÖÇø´óСµÄ¹¤¾ß(±ÈÈçPatition MagicµÈ)£¬µ«Õâ¶¼Ö»ÊÇÔÝʱ½â¾ö°ì·¨£¬Ã»Óиù±¾½â¾öÎÊÌâ¡£Ëæ×ÅLinuxµÄÂß¼Å̾í¹ÜÀí¹¦ÄܵijöÏÖ£¬ÕâЩÎÊÌâ¶¼ÓÈжø½â£¬±¾ÎľÍÉîÈëÌÖÂÛLVM¼¼Êõ£¬Ê¹µÃÓû§ÔÚÎÞÐèÍ£»úµÄÇé¿öÏ·½±ãµØµ÷Õû¸÷¸ö·ÖÇø´óС¡£
Ò»¡¢ ǰÑÔ
ÿ¸öLinuxʹÓÃÕßÔÚ°²×°Linuxʱ ¶¼»áÓöµ½ÕâÑùµÄÀ§¾³£ºÔÚΪϵͳ·ÖÇøÊ±£¬ÈçºÎ¾«È·ÆÀ¹ÀºÍ·ÖÅä¸÷¸öÓ²ÅÌ·ÖÇøµÄÈÝÁ¿£¬ÒòΪϵͳ¹ÜÀíÔ±²»µ«Òª¿¼Âǵ½µ±Ç°Ä³¸ö·ÖÇøÐèÒªµÄÈÝÁ¿£¬»¹ÒªÔ¤¼û¸Ã·ÖÇøÒÔºó¿É ÄÜÐèÒªµÄÈÝÁ¿µÄ×î´óÖµ¡£ÒòΪÈç¹û¹À¼Æ²»×¼È·£¬µ±Óöµ½Ä³¸ö·ÖÇø²»¹»ÓÃʱ¹ÜÀíÔ±¿ÉÄÜÉõÖÁÒª±¸·ÝÕû¸öϵͳ¡¢Çå³ýÓ²ÅÌ¡¢ÖØÐ¶ÔÓ²ÅÌ·ÖÇø£¬È»ºó»Ö¸´Êý¾Ýµ½Ð·ÖÇø¡£
ËäÈ»ÏÖÔÚÓкܶද̬µ÷Õû´ÅÅ̵Ť¾ß¿ÉÒÔʹÓã¬ÀýÈçPartation MagicµÈµÈ£¬µ«ÊÇËü²¢²»ÄÜÍêÈ«½â¾öÎÊÌ⣬ÒòΪij¸ö·ÖÇø¿ÉÄÜ»áÔٴα»ºÄ¾¡£»ÁíÍâÒ»¸ö·½ÃæÕâÐèÒªÖØÐÂÒýµ¼ÏµÍ³²ÅÄÜʵÏÖ£¬¶ÔÓÚºÜ¶à¹Ø¼üµÄ·þÎñ ......