[Powered by Google Translate] నేట్ HARDISON: ప్రోగ్రామింగ్ లో, ఒక లైబ్రరీ యొక్క సేకరణ సంబంధిత prewritten కోడ్. లైబ్రరీస్ ఎలా మేము, వంటి ప్రోగ్రామర్లు, ఉమ్మడి మరియు వివిధ కార్యక్రమాలు ప్రతి ఇతర తో ఉపయోగపడిందా కోడ్, మేము , వ్రాసి కూడా వివిధ ప్రక్రియలు వద్ద నడుపుతున్న మా కంప్యూటర్లలో ఒకే సమయంలో. యొక్క ఒక బిట్ అన్వేషించడానికి లెట్. మీరు బహుశా మీరు మరింత సాధారణ కార్యక్రమాల్లో ఒకటి ఉపయోగిస్తున్నాను printf విధి. ఇప్పుడు, printf అయిన కొన్ని మ్యాజిక్ క్రియ కాదు కంప్యూటర్ లోకి హార్డ్ కోడెడ్ - అయితే, ఇవి సి ప్రామాణిక లైబ్రరీస్ భాగంగా, యొక్క తో వచ్చే విధులు సమాహారం సి ప్రోగ్రామింగ్ భాష. Printf కంప్యూటర్ నిర్మించారు సాధ్యం కాదు కాబట్టి, ఆ అర్థం అక్కడ నిజంగా లో ఇతను కొన్ని ప్రోగ్రామర్ మరియు రాశాడు printf ఫంక్షన్ మరియు ప్రామాణిక మిగిలిన దానిని కొట్టగా గ్రంథాలయాలు భవిష్యత్తు ప్రోగ్రామర్లు లేదు విధంగా ప్రయత్నం నకిలీ. తనిఖీ ఎందుకంటే మరియు మేము ఆ కేస్ అని మీరు ధన్యవాదాలు ఉన్నారు నిజానికి printf అమలు చేయడానికి ఎంత కోడ్ అవుట్. Printf ఒక భాగమైన యొక్క C ప్రామాణిక లైబ్రరీస్, ఉన్నాయి ముఖ్యమైన టూల్స్ ఒకటి మీరు CS50 పరిష్కారంలో ఉన్నాయి. ఇన్పుట్ అవుట్పుట్-గ్రంధాలయానికి అదనంగా పేరు printf జీవితాలను, ఇతర గ్రంథాలయాల అక్కడ చాలా ఉన్నాయి ఆ మీరు బహుశా CS50 క్రమంలో ఉపయోగిస్తారు. ఉదాహరణకు, స్ట్రింగ్ గ్రంధాలయానికి పనులు సి తీగలను పోల్చడం వారి పొడవు పొందండి, మరియు వాటిని concatenate. మరియు గణిత లైబ్రరీ మీరు ఉపయోగపడిందా ఇస్తుంది pi మరియు ఇ వంటి స్థిరాంకాలు. ఇప్పుడు, ఇతర కార్యక్రమాలు ప్రామాణిక గ్రంథాలయాలు పోలిస్తే భాషలు, C ప్రామాణిక లైబ్రరీస్, నిజంగా చిన్న ఉంటాయి కానీ వారు ఇప్పటికీ అంశాలు గురించి ముఖ్యమైన మొత్తం కలిగి ఉంటాయి. మరియు ప్రామాణిక లైబ్రరీస్ చెప్పడం కాదు మాత్రమే సి గ్రంథాలయాలు; లో బయట మరింత ఉన్నాయి ప్రపంచ మీరు CS50 లైబ్రరీ సహా, ఉపయోగించడానికి, మరియు గుప్తలేఖనం తో మానచిత్ర గ్రంధాలయాలు ఎన్కోడ్ మరియు విధులు విధులు, గ్రంథాలయాలు వీడియో ప్లే, అందువలన న. ఈ ముఖ్యమైన పక్కన దగ్గరికి తీసుకువస్తుంది. ఇంజనీరింగ్ అవసరమైన నైపుణ్యాలను ఒకటి తెలుసుకోవడం టూల్స్ మీ పేజీలు అందుబాటులో ఉపయోగించే కాబట్టి వాటిని మరియు తప్ప చక్రం పునరుద్ధరించుకుంటూ నివారించడానికి మీరు అలా ఉంటుంది. ప్రోగ్రామర్లు వంటి, గ్రంథాలయాలు ముఖ్యమైన ఒకటి మనం పనిముట్లు. మీరు చూసినప్పుడు మీరే దుర్భరమైన లేదా తెలుస్తోంది ఒక పనిని ఎదుర్కొంటున్న సాధారణ, C స్ట్రింగ్ యొక్క పొడవు కనుగొనడంలో వంటి, మీరు అది సందర్భంలో కావచ్చు ఉంటే మిమ్మల్ని మీరే ప్రశ్నించుకోండి అని ఇప్పటికే ఒకరు ముందు ఇదే పని యొక్క. అవకాశాలు మీరు కొన్ని కనుగొనడానికి అని ఉంటాయి ఒక లైబ్రరీ సహాయ. కాబట్టి సాంకేతిక పరంగా, ఒక గ్రంధాలయం ఒక బైనరీ ఫైలు ఒక సేకరణ కలిసి లింక్ ద్వారా ఉత్పత్తి చేయబడింది ఒక ఉపకరణాన్ని ఉపయోగించి వస్తువు ఫైళ్లు, అని మీరు ఇది లింకర్ నిమ్మన. ఆబ్జెక్ట్ ఫైళ్లను ఉంటాయి. O ​​ఫైళ్ళను మీరు మీరు పొందుతారు సి సోర్స్ కోడ్ కంపైల్. ప్రోగ్రామర్లు గ్రంథాలయాలు వ్రాయండి, వారు సాధారణంగా ఫైళ్ళ రెండు రకాలుగా వారి సి కోడ్ వేరు: శీర్షిక ఫైళ్లు మరియు అమలు ఫైళ్లు. సాంప్రదాయకంగా ఒక శీర్షికా ఫైలును. H ఫైల్ పొడిగింపు ఇవ్వబడుతుంది మరియు అది లైబ్రరీ ప్రకటించే కోడ్ కలిగి మీరు ఉపయోగించడానికి అందుబాటులో వనరులను. ఈ వనరులు విధులు, వేరియబుల్స్ structs ఉన్నాయి రకం నిర్వచనాలు మరియు ఆ విధంగా, మరియు కలిసి, వారు సాధారణంగా ఇంటర్ఫేస్ వలె సూచిస్తారు. నిజానికి, మీరు ఎప్పుడైనా ఒక లైబ్రరీలో ఏది వొండరింగ్ చేస్తున్నారు శీర్షిక ఫైళ్లు చూడటానికి ప్రదేశం. ఉదాహరణకు, మీరు usr పుల్ అప్ / ఉన్నాయి / stdio.h మరియు తనిఖీ చేయవచ్చు ప్రతిదీ ఔట్ మీరు గురించి తెలుసుకోవాలనుకునే ప్రామాణిక IO లైబ్రరీ. ఇక్కడ లో stuff చాలా, మరియు ఇది ఒక బిట్ పడుతుంది ద్వారా వాడే సమయం. అయితే, Google మరియు manpages పాటు ఈ ఉంది మీరు వొండరింగ్ మీరు సందర్శించాల్సిన ప్రదేశంగా ఎలా ప్రామాణిక I / O లైబ్రరీ విధులు పని. ఇక్కడ గమనించదగ్గ ఒక కీ విషయం, అయితే, శీర్షిక ఫైళ్లు ఉంది సాధారణంగా ఫంక్షన్ నిర్వచనాలు లేదు - ఆ వాస్తవ ఫంక్షన్ అమలు ఉంది. ఈ ముఖ్యమైన కంప్యూటర్ సైన్స్ యొక్క ఒక ఉదాహరణ ఉంది నియమం వద్ద సూచిస్తారు, సమాచారం అజ్ఞాతంలోకి అని తొడుగు వంటి సార్లు. ఒక లైబ్రరీ యొక్క వినియోగదారు లేదా క్లయింట్, మీరు లేదు గ్రంధాలయం అంతర్గత గురించి ఇది ఉపయోగించడానికి. ఒక బిట్ క్రితం printf చూసిన గుర్తుంచుకో? మీరు ముందు అసలు కోడ్ చూసిన? Well, నేను మీరు వాటిని అయినప్పటికీ, మీరు కలిగి భావిస్తాయి టైమ్స్ యొక్క printf టన్నుల ఉపయోగించారు. మీకు తెలిసిన వచ్చింది అన్ని ఫంక్షన్ ప్రకటన ఉంది stdio.h శీర్షికా ఫైలును లో. ఏమైనా, మంచి సమాచారం అజ్ఞాతంలోకి ప్రయోజనం అని మీరు మరియు మీరు వ్రాసే కార్యక్రమాలు ఏదైనా మార్పులు నుండి నిరోధిస్తారు లైబ్రరీ విధులను అమలు కోడ్. Printf మార్పులు అమలు, మీరు లేకపోతే వెళ్ళి printf ఉపయోగించే మీ అన్ని కార్యక్రమాల మార్చడానికి. కాబట్టి అమలు గడిచిపోయింది? Well, మళ్ళీ, కన్వెన్షన్ ప్రకారం, అమలు ఒక వెళుతుంది . సి ఫైల్ పొడిగింపు ఫైల్. సాధారణంగా, శీర్షిక ఫైళ్లు మరియు అమలు ఫైళ్లను చేతి వెళ్ళి చేతి, కాబట్టి మీరు కొత్త స్ట్రింగ్ కొంత డిక్లేర్డ్ ఉంటే mystring.h లో విధులు, మీరు అన్ని నిర్వచించే చేస్తాము mystring ఆ పనిచేస్తుంది. సి. కాబట్టి అప్పుడు శీర్షిక మరియు అమలు ఫైళ్లను అప్పుడు ఉంటాయి అప్పుడు అనుసంధానం చేయబడిన వస్తువు ఫైళ్ళను సృష్టించడం, సంకలనం బైనరీ లైబ్రరీ ఫైలు ఉత్పత్తి కలిసి. లైబ్రరీ రచయిత అప్పుడు బైనరీ ఫైలు పాటు పంపబడుతుంది శీర్షిక ఫైళ్లు వాడుకోవాలని భావించే ప్రోగ్రామర్లు తో లైబ్రరీ. ఈ సమయంలో,. సి అమలు ఫైళ్ళను కాదు కాబట్టి, మొదటి నుండి లైబ్రరీ మళ్ళీ కంపైల్ చెయ్యండి తప్ప, అవసరమైన వారు తరచుగా దూరంగా ఉన్నాము. C library ఉపయోగించడానికి, మీరు రెండు పనులు ఉన్నాయి. మొదట, మీరు # లైబ్రరీ శీర్షిక ఫైళ్లు మరియు ఉండాలి మీరు అనుకుంటున్నారా పేరు సోర్స్ కోడ్ ఫైలు లైబ్రరీ కోడ్. ఈ ప్రకటనలతో అన్ని యొక్క కంపైలర్ సమాచారం విధులు, వేరియబుల్స్ structs, et సెటేరా, ప్రస్తుతం శీర్షిక ఫైళ్లు కాబట్టి కంపైలర్, ఒక బీమా దాన్ని ఆ మీరు, సరైన విధంగా లైబ్రరీ వనరులు ఉపయోగించే మరియు రెండు, తగిన అసెంబ్లీ కోడ్ ఉత్పత్తి. లైబ్రరీ శీర్షిక ఫైళ్లు ఎక్కడ ఆధారపడి ఉన్న, # ఉన్నాయి సింటాక్స్ మారుతుంది. శీర్షిక ఫైళ్లు వ్యవస్థ యొక్క ఉన్నాయి ఉంటే డిఫాల్ట్ డైరెక్టరీ ఉన్నాయి - సాధారణంగా, usr/include-- ఉన్నాయి # లో అప్పుడు బ్రాకెట్లు వాక్యనిర్మాణం, ఉపయోగిస్తారు . అయితే, శీర్షిక ఫైళ్లు ఒకే ఉన్నాయి ఉంటే డైరెక్టరీ మీ స్వంత కోడ్, డబుల్ కోట్ వాక్యనిర్మాణం # "mylib.h" ఉన్నాయి వలె ఉపయోగిస్తారు. మీరు చేయాల్సిందల్లా రెండవ విషయం బైనరీ లో లింక్ ఉంటుంది మీరు మీ కోడ్ కంపైల్ సమయంలో లైబ్రరీ ఫైలు. ఈ సూపర్ ముఖ్యమైన దశ. శీర్షిక ఎలా మా ముందు చర్చ గుర్తుంచుకో ఫైళ్లను అమలు కోడ్ కలిగి లేదు? మీరు ఈ దశను మర్చిపోతే, మీరు గురించి లోపాలు పొందుతారు వివరింపబడని చిహ్నాలు మీ కోడ్ లో సూచించారు. దీనిని పరిష్కరించడానికి,-l జెండా వెనువెంటనే ఉపయోగించడానికి లైబ్రరీ పేరు గల ఒక స్థలం లేకుండా. ఉపకరణం, C ప్రామాణిక అనేక వ్యవస్థలు, న లైబ్రరీస్ స్వయంచాలకంగా మీ కొరకు లింక్. అయితే, గణిత లైబ్రరీ కొన్నిసార్లు విడిగా కొట్టగా ఉంది మరియు LM ముడిపడి అవసరం ఉండవచ్చు. ఉపకరణంపై, మేము మీ కోసం ఈ యొక్క శ్రద్ధ వహించడానికి, మరియు మేము కూడా -lcs50 తో CS50 లైబ్రరీ లింక్. మీరు అమలు చేసినప్పుడు ఉపకరణంపై ఈ అన్ని చూడగలరు. ఇప్పుడు మీరు ఉపయోగించాలి జ్ఞానం కలిగి ఉండాలి C. గ్రంథాలయాల అన్వేషించడం ఆనందించండి. నా పేరు నేట్ Hardison, మరియు ఈ CS50 ఉంది.