资源描述:
《sam's - linux programming unleashed》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、0172316072intro7/26/992:18PMPage1IntroductionLinuxhasalwaysprovidedarichprogrammingenvironment,andithasonlygrownrich-er.Twonewcompilers,egcsandpgcs,joinedtheGNUproject’sgcc,theoriginalLinuxcompiler.Infact,asthisbookwenttopress,theFreeSoftwareFoundation,custodiansoftheGNUproj
2、ect,announcedthatgccwouldbemaintainedbythecreatorsandmaintain-ersofegcs.Ahugevarietyofeditorsstandalongsidethespartanandmuch-malignedviandemacs’marvelouscomplexity.DrivenlargelybytheLinuxkernel,GNU’sClibraryhasevolvedsodramaticallythatanewversion,glibc(alsoknownaslibc6)hasem
3、ergedasthestandardClibrary.LinuxhackershavehonedtheGNUproject’salwaysservice-abledevelopmentsuiteintopowerfultools.NewwidgetsetshavetakentheirplacebesidetheoldUNIXstandbys.Lesstifisafree,source-compatibleimplementationofMotif1.2;KDE,theKDesktopEnvironmentbasedontheQtclasslib
4、rariesfromTrollTech,answersthedesktopchallengeposedbytheXConsortium’sCDE(CommonDesktopEnvironment).WhatThisBookWillDoforYouInthisbook,weproposetoshowyouhowtoprogramin,on,andforLinux.We’llfocusalmostexclusivelyontheClanguagebecauseCisstillLinux’slinguafranca.Afterintroducingy
5、outosomeessentialdevelopmenttools,wediverightintosystemprogramming,followedbyasectiononinterprocesscommunicationandnetworkprogramming.AfterasectiondevotedtoprogrammingLinux’suserinterfacewithbothtext-basedandgraphicaltools(theXWindowsystem),asectiononspecializedtopics,includ
6、ingshellprogramming,securityconsiderations,andusingtheGNUproject’sgdbdebugger,roundsoutthetechnicaldiscussion.Weclosethebookwiththreechaptersonatopicnormallydisregardedinprogrammingbooks:deliveringyourapplicationtousers.Thesefinalchaptersshowyouhowtousepackagemanagementtools
7、suchasRPM,howtocreateusefuldocumentation,anddiscusslicensingissuesandoptions.Ifwe’vedoneourjobcorrectly,youshouldbewellpreparedtoparticipateinthegreatsociologicalandtechnologicalphenomenoncalled“Linux.”IntendedAudienceProgrammersfamiliarwithotheroperatingsystemsbutnewtoLinux
8、getasolidintro-ductiontoprogrammingunderLinux.Wecoverboththetoolsyouwilluse