1.软件å¼åçåºç¡ç¥è¯
软件å¼åçåºç¡ç¥è¯
软件å 计ç®æºèåå¨ï¼è计ç®æºçå®è´¨æ¯æ°å¦ï¼æ以计ç®æºçç¥è¯æ¬è´¨ä¸å°±æ¯æ°å¦ç¥è¯ï¼
ä¹å¯ä»¥è¿ä¹è¯´æ°å¦ç¥è¯ä¹æ¯è®¡ç®æºçåºç¡ç¥è¯ï¼è®¡ç®æºçåºç¡ç¥è¯ä¹æ¯è½¯ä»¶çåºç¡ç¥è¯ãå¨ã软件åå±çè¿ç¨ä¸ï¼è½¯ä»¶çç¥è¯ä¹å¨æ ¢æ ¢å°ç§¯ç´¯ï¼å¾å¤è½¯ä»¶ç¥è¯ä¸æ°å¦å¹¶æ ç´æ¥çèç³»ï¼èãå¨è¿éæ们æè¦è¯´çå°±æ¯çº¯è½¯ä»¶çåºç¡ç¥è¯ã
æ们å¯ä»¥æ软件çç¥è¯å为两个é¨åï¼ä¸ä¸æè½ç¥è¯åé¢åç¥è¯æ说è¡ä¸ç¥è¯ã
1ï¼ä¸ä¸æè½ç¥è¯
ä¸é¨ç¼ç¨è¯è¨ååº
ä½ å¯ä»¥å¨ä¹¦åºéæ¾å°åè²åæ ·çå ³äºç¼ç¨æ¹é¢ç书ç±ï¼ä½æ¯æå»ºè®®ä½ åªéè¦æ·±å ¥å°ææ¡
ä¸é¨ä¾¿å¯ï¼èä¸ä»»ä½ç¨åºåé½éè¦çæCè¯è¨ãä½ ææ·±å ¥ææ¡çè¯è¨å¯æå¤ç§éæ©ãå¦æä½ ä»äºçæ¯é©±å¨ç¨åºå¼åï¼ææ³å¿ é¡»è¦ææ¡æ±ç¼è¯è¨ï¼Cè¯è¨ä¹æ¯ä¸ªä¸éçéæ©ï¼èå¦ææ¯åUIçè¯Cï¼ï¼ä¹è®¸æ´å¥½ï¼Javaè¯è¨æ¯è¾éåç½ç»ç¨åºçå¼åï¼å½ç¶JavaScriptå¨googleè¯å®å¾åæ¨å´ã
对äºç¨åºåæ¥è¯´ï¼ç¼ç¨è¯è¨å°±ç¸å½äºæ¸¸ä¾ æä¸çæ¦å¨ï¼å¯ä»¥æ¯é¿åï¼ä¹å¯æ¯ä»¥æ¯çåï¼å¯ä»¥æ¯å¤§åï¼ä¹å¯ä»¥æ¯åé¦ãè¿äºæ¦å¨åææé¿ï¼èè¦åæ¥è¿äºæ¦å¨çé¿å¤å¿ é¡»åºäºä¸å¥è·¯æ°ä¸ï¼é£ä¹å¯¹äºç¨åºåæ¥è¯´å°±æ¯åºäºæä¸ç§ç¼ç¨è¯è¨ç代ç åºãå¦GNUCçåºå°±æ¯libcæulibcãå¦æä½ æ¯ç¨Cè¯è¨ï¼èä¸ä½ æ¯å¨ç±»UNIXå¹³å°ä¸å¼åï¼é£ä¹ä½ å°±å¿ é¡»æ£ç¡®ç解libcçå·¥ä½åçï¼ä½ 代ç éæè°ç¨çæ¯ä¸ä¸ªå½æ°çè¾å ¥ä¸è¾åºï¼å¯è½çé误ï¼å¯è½çæ§ä¹ï¼å¯¹ç³»ç»å¯è½äº§ççå½±åãæ¯å¦æä¸ä¸ªå½æ°æ¯å¦æ¯å¯åå ¥çï¼è¿æ¯ä¸å¯åå ¥çï¼å¦æåºç°äºå¤çº¿ç¨åæ¶è°ç¨çæ åµä¼åçä»ä¹é误ççç»èä¸çé®é¢ã
ä¸ç§ç¼ç¨ææ³
å ¨ä¸çé½æå¹äºæ¯æ³½ä¸çé¢å¯¼ååäºæè½ï¼èå¨ä»çæè½è¡¨è±¡ä¹åæ¯ä»ä¹ï¼æ¯ä»çé©å½
ç²¾ç¥ï¼æ¯ä»çç¿æºçææ³ãç¼ç¨ä¹ä¸æ ·ï¼å¦æ没æäºç¼ç¨ææ³å°±æ²¡æäºæ导åè¿çå¨åï¼å°±æ²¡æäºåé ççµæçå壤ã软件ç¥è¯åå±å°ç°å¨æ¯è¾å¸¸ç¨çç¼ç¨ææ³å°±æ¯ç»æåï¼æ¨¡ååï¼åé¢å对象åï¼è®¾è®¡æ¨¡å¼ï¼ã
æäºè¯è¨æ¯å¨æ¨¡åå大è¡å ¶éçåå²èæ¯ä¸è¢«åæåºæ¥çï¼å¦Cè¯è¨ï¼èæäºè¯è¨åæ¯ä¸ºäºæ»¡è¶³é¢å对象çç¼ç¨ææ³èæé åºæ¥çï¼å¦Cï¼ï¼ãæä¸é¨åç¨åºåä¼è®¤ä¸ºCè¯è¨æ¯ç»æåçç¼ç¨è¯è¨æ æ³å®ç°é¢å对象çç¼ç¨ææ³ãå ¶å®ä¸ç¶ï¼Cè¯è¨åæ ·å¯ä»¥å¾å¥½å°å®ç°é¢å对象çç¼ç¨ææ³ï¼åªä¸è¿æäºé¢å对象çå·¥ä½ç±ç¨åºåæ¥åèå·²ãåæ ·ï¼é¢å对象çç¼ç¨è¯è¨ä¹å¯ä»¥ç¨äºå模ååçç¨åºã
ä¸ç§ä¿¡ä»°
å°±æææ¥è§¦è¿çç³»ç»éï¼Windowsæåªä¼å®è£ ï¼ä½¿ç¨ï¼VCï¼VBä¹åªè½åä¸äºç®åçå¼åï¼èMACOSä½éªè¿ä¸æ¬¡å®è£ ï¼ä¸è¿æç»è¿æ¯å¤±è´¥äºï¼iPhoneçç³»ç»è¿æ²¡ææºä¼ä½éªè¿ãæ¾ç»å¨AIXä¸åè¿å¼åï¼ç®åæ£å¨Fedora9ä¸åå¼åï¼ç®æ æ¿çCPUæ¯SH4ï¼å°æ¥ä¹å¯è½æ¯MIPSã
ä¸ç®¡æ¯MACOSï¼Windowsï¼UNIXï¼Linuxçé½æåèªç追éçï¼ææè¿ç§ç°å称为信仰ãå°±æ¿æèªå·±æ¥è¯´ï¼æä¿¡ä»°Linuxï¼Linuxå æ ¸çæºä»£ç 对äºææ¥è¯´å°±æ¯ç¥è¯ã
æè§å¾å¨Linuxä¸å·¥ä½æ¯ä¸ä»¶å¾å¨±æ¦çäºæ ãå¦æä½ æ¯æ¯è§£å³ä¸äºæ¯è¾æ£æçé®é¢ï¼é½ä¼
æä¸ç§æå°±æï¼è¿æ¯å¨Windowså¹³å°ä¸æåä¸å°çãæ以对äºè¿ä¸ä¿¡ä»°ï¼æè§å¾è³å°éè¦ç¥éå®çå®è£ ï¼å¯å¨ï¼é ç½®ï¼å®å ¨ï¼å¦å¼å¯¼ç¨åºGRUBï¼ftp,华夏hbase源码解析pdftelnet,sshd,smbd,namedççæå¡å¨çé ç½®ï¼ç½ç»å®å ¨çé ç½®ççã
å¦æä½ è¦å¨Linuxä¸è¿è¡å¼åï¼ä½ å¿ é¡»äºè§£LinuxçAPIï¼æ ååºï¼ä¹å°±æ¯libcãå¦æä½
çç¨åºæ¯å¤çº¿ç¨çï¼ä½ è¿å¾ææ¡libpthread.soéçå½æ°ä½¿ç¨æ¹æ³ãGCC,GDB,LD,AS,AR,以
åMakefileåmakeççå·¥å ·ç使ç¨ãå¦æä½ è½ææ¡find,awk,sed,grep,od,nm,objdump
çå®ç¨å·¥å ·çè¯ï¼å°ä¼å¤§å¤§æé«ä½ çå·¥ä½æçã
è¿ï¼å°±æ¯æçä¿¡ä»°ã
æ»ä¹ä¸å¥è¯ï¼ä¸ç§ç¼ç¨è¯è¨ååºï¼ä¸ç§ç¼ç¨ææ³åä¸ç§ä¿¡ä»°ãä¸åOKï¼
2ï¼é¢åç¥è¯/è¡ä¸ç¥è¯
æè®°å¾æç第ä¸ä»½å·¥ä½æ¯é¶è¡ç交æå¼åç¨åºåï¼å½æ¶æ¯ä¸å®¶å¤å å ¬å¸ææå¤æ´¾å°å·¥å
é¶è¡ï¼æ对工åé¶è¡çä¸å¡ä¸æ æç¥ãä¸è¿ååºè åºä¸æèï¼ç¡¬æ¯ä¸ä¸ªäººå®æäºä¸ä¸ªæä¸æ æç¥ç项ç®ï¼èä» åæ对èªå·±ææ¯å®åçèªä¿¡ã
ä½äºåæå´æäºåæï¼å 为æ并ä¸æç½ï¼ä¸ºä»ä¹é£ä¸ªæ´æ°è¦ä¹ä»¥ä¸ª0.åå ¥å°æ°æ®åºï¼
ä¹ä¸ç¥éé¶è¡å¯¹æ°æ®ç精确度æ¯å¤å¤§ï¼ççç»èä¸çé®é¢æä¸æ æç¥ãé£æåªè½æ±ä¸å¤©ä¿ä½ï¼åªå¤©ä¸è¦å¤æ£äºäººå®¶çé±ï¼å¤©åï¼è¿äºæä¹åäºï¼ï¼å½ç¶ä¸è³äºé£ä¹ä¸¥é:)
åæ¥æç¡®å®åç°èªå·±å¯¹äºé¶è¡è¿å¥ä¸å¡ç³»ç»äºè§£èµ·æ¥æ¯è¾ååï¼æå®æ¿è±ç¹æ¶é´åäºå°
çCç¨åºä¹ä¸æ¿è±æ¶é´å»è¯é£äºè¦æ¶©çä¸å¡æµç¨ææ¡£ãæ以å¨é£å®¶å ¬å¸åæºä¸å¹´åæè¾èäºã
ææ³ï¼å¤§é¨åç¨åºåé½æ³åä¸äºç¸å¯¹ææ¯å«éé«çå¼åå·¥ä½ï¼åé£ç§æ´å¤©ä¸æ°æ®åæ°æ®
åºæ交éçå¼åå·¥ä½ï¼é便æç¹å¿åçç¨åºåä¹ä¸æ¿æå»åï¼å½ç¶å¦æé±è¶³å¤å¤çè¯æè¿æ¯æ¿æç:)
ä½ç°å¨æåç°æéäºãå 为è¿é¨åä¹æ¯è½¯ä»¶ç¥è¯çä¸é¨åãå°±æ¿æç®åçå·¥ä½æ¥è¯´ï¼ææ¯ä¸ä¸ä¼æ太大çå°é¾ï¼ä½æ¯èå è§æ ¼ä»¥åå ¶æ¶åå°çè§æ ¼ç¸å½çå¤ï¼ææ没æåå¹´æ¶é´æ æ³åå°ç²¾éãè¿å°±æ¯é¢åç¥è¯æ说æ¯è¡ä¸ç¥è¯ãæäºäººä¸çåªåä¸ä»¶äºï¼è¿ä¸ä¸å®è½å好ï¼èæç°å¨åªåäºä¸å°ä¸¤å¹´ï¼è½è§æ¶é´ä¸é¿ä½ä¹ä¸çï¼çºµæ¯ä¸æ æè·ã
æ以ï¼æè§å¾èªå·±ä»ä¸æ¯ä¸ååæ ¼çå¼åè ã软件å¼åçåºç¡ç¥è¯å æ¬ä¸ä¸ç¥è¯åè¡ä¸
ç¥è¯ï¼å¦æåºç¡ç¥è¯ä¸å®æ´ï¼é£ä¹è¿ä¸ªç¨åºåä¸ä¼æ¯ä¸ä¸ªåæ ¼ä¸é«æçç¨åºåã