[Powered by Google Translate] NATE HARDISON પ્રોગ્રામિંગ માં, એક લાઈબ્રેરી સંગ્રહ છે સંબંધિત prewritten કોડ. લાઈબ્રેરીઓ અને અમે કેવી રીતે છે, પ્રોગ્રામરો, સામાન્ય શેર છે અમે એકબીજા સાથે મદદરૂપ વિવિધ કાર્યક્રમો સાથે, કોડ લખવા, અને તે પણ વિવિધ પ્રક્રિયાઓ અંતે દોડ સાથે અમારા કમ્પ્યુટર્સ પર એક જ સમયમાં. ચાલો થોડી અન્વેષણ કરો. એક વધુ સામાન્ય કાર્યો કે જે તમે કદાચ કરેલા ઓફ નો ઉપયોગ એ printf કાર્ય છે. હવે, printf કેટલાક જાદુ કાર્ય ચાલી રહી છે નથી કમ્પ્યુટર માં હાર્ડ કોડેડ - તેના બદલે, તે સી સ્ટાન્ડર્ડ લાઇબ્રેરીઓનો ભાગ છે, જે છે છે વિધેયો એક સંગ્રહ છે કે જે સાથે આવે છે સી પ્રોગ્રામિંગ ભાષા. ત્યારથી printf કમ્પ્યુટર માં સમાયેલ છે, કે જે અર્થ થાય છે ત્યાં કેટલાક પ્રોગ્રામર જે વાસ્તવમાં ગયા હતા અને લખ્યું હતું printf કાર્ય અને તે પ્રમાણભૂત બાકીના સાથે બનીને લાઈબ્રેરીઓ કે જેથી ભવિષ્યમાં પ્રોગ્રામરો માટે નહિ પ્રયત્નો ડુપ્લિકેટ છે. અને અમને ખાતરી છે કે આભારી છે કે જે આ કિસ્સામાં છે કરશો, કારણ કે તપાસ કેટલી કોડ વાસ્તવમાં તે માટે printf અમલ લે આઉટ. C ની સ્ટાન્ડર્ડ પુસ્તકાલયો, જે printf એક ભાગ છે તમે એક સૌથી મહત્વપૂર્ણ સાધનો CS50 ઉકેલ લાવવામાં વર્તમાનપત્રો છે. ગ્રંથાલયનો ઇનપુટ-આઉટપુટ ઉપરાંત જ્યાં printf જીવન, ત્યાં અન્ય લાઈબ્રેરીઓનો સમૂહ છે કે તમે કદાચ ઉપર CS50 કોર્સ ઉપયોગ કરશો. ઉદાહરણ તરીકે, શબ્દમાળા પુસ્તકાલય વિધેયો છે સી શબ્દમાળાઓ સરખાવવા માટે, તેમના લંબાઈ વિચાર કરો, અને તેમને એકસાથે જોડવું. અને ગણિત લાઇબ્રેરી તમે મદદરૂપ આપે છે પાઇ અને ઈ જેવા સ્થિરાંકો,. હવે, અન્ય પ્રોગ્રામિંગ પ્રમાણભૂત લાઈબ્રેરીઓ સરખામણીમાં ભાષા, સી સ્ટાન્ડર્ડ પુસ્તકાલયો ખરેખર નાની છે, પરંતુ તેઓ હજુ પણ સામગ્રી એક નોંધપાત્ર રકમ હોય છે. અને તે માટે કહે છે કે સ્ટાન્ડર્ડ લાઇબ્રેરીઓ એ છે નથી માત્ર સી લાઈબ્રેરીઓ; ત્યાં ઘણા ત્યાં વધુ છે વિશ્વ માટે, તો CS50 લાઇબ્રેરી સહિત ઉપયોગ કરવા માટે, એનક્રિપ્શન અને ડિક્રિપ્શન સાથે કાર્ટોગ્રાફી લાઈબ્રેરીઓ કાર્યો કાર્યો સાથે, પુસ્તકાલયો માટે બેવડી અને પાછળ વિડિઓ ભજવે છે, અને તેથી પર. આ અમને એક મહત્વપૂર્ણ એકાંતે માટે લાવે છે. એક એન્જિનિયરિંગ જરૂરી કૌશલ્યો ની જાણ્યા છે સાધનો તમારી શોધો ઉપલબ્ધ છે કે જેથી તમે ઉપયોગ કરી શકો છો તેમને અને જ્યાં સુધી વ્હીલ રિઈન્વાઈટિંગ ટાળવા તમે આવું કરવા માટે હોય છે. પ્રોગ્રામરો તરીકે, પુસ્તકાલયો સૌથી મહત્વપૂર્ણ છે સાધનો અમે હોય છે. જ્યારે તમે શોધવા જાતે ક્રિયા છે કે જે જટિલ અથવા લાગે છે સામનો રસહીન, એક સી શબ્દમાળા લંબાઈ શોધવા કે તમે, તમારી જાતને પૂછી જો તે કેસ હોઇ શકે જોઈએ કે કોઈને પહેલેથી જ વસ્તુ છે તે પહેલાં થાય છે. લાગે છે કે તમે અમુક શોધી શક્યા એક લાઈબ્રેરી અંદર મદદ કરે છે. તેથી તકનિકી દ્રષ્ટિએ, એક લાઈબ્રેરી દ્વિસંગી ફાઇલ છે છે એક સાથે એક સંગ્રહ લિંક દ્વારા ઉત્પન્ન કરવામાં આવી તમે પદાર્થ એક સાધનની મદદથી ફાઈલો કહેવાય છે, તે માટે, linker અનુમાન લગાવ્યું. ઑબ્જેક્ટ ફાઈલો એ છે ઓ ફાઈલો છે. કે તમે વિચાર તમે જ્યારે સી સ્ત્રોત કોડ કમ્પાઇલ. જ્યારે પ્રોગ્રામરો લાઈબ્રેરીઓ લખો, તેઓ સામાન્ય રીતે ફાઈલો બે પ્રકારના તેમની સી કોડ અલગ: હેડર ફાઈલો અને અમલીકરણ ફાઈલો છે. સંમેલન દ્વારા હેડર ફાઈલ ક. ફાઈલ એક્સટેન્સન આપવામાં આવે છે, અને તે કોડ કે જે લાઇબ્રેરી ની ઘોષણા સમાવે છે સાધનો છે કે જેઓ ઉપલબ્ધ માટે તમે ઉપયોગ કરવા માટે છે. આ સાધનોને કાર્યો, ચલો, સ્ટ્ર્ક્ટ્સ સમાવેશ થાય છે, પ્રકાર વ્યાખ્યાઓ, અને તેથી, અને સાથે સાથે, તેઓ છે સામાન્ય રીતે ઇન્ટરફેસ તરીકે ઓળખવામાં આવે છે. હકીકતમાં, જો તમે ક્યારેય આશ્ચર્ય કરો તે એક લાઈબ્રેરી માં છે, હેડર ફાઈલો નજર સ્થળ છે. ઉદાહરણ તરીકે, તમે usr ખેંચી / શકે સમાવેશ / stdio.h અને તપાસ બધું બહાર તમે ક્યારેય જાણવા માગતા હોવ પ્રમાણભૂત @ title: પુસ્તકાલય. ત્યાં અહીં સામગ્રી ઘણો છે, અને તે એક બીટ લઈ શકે છે દ્વારા વેડ સમય. જોકે, ગૂગલ અને manpages સાથે, આ છે જાઓ જો તમે આશ્ચર્ય પામી રહ્યાં છો મૂકવા પ્રમાણભૂત કેવી રીતે I / O પુસ્તકાલય વિધેયો કામ કરે છે. તેથી એક કી અહીં નોંધ વસ્તુ છે, તેમ છતાં છે, કે જે હેડર ફાઈલો ખાસ કરીને કાર્ય વ્યાખ્યાઓ સમાવેશ થતો નથી - એ છે, વાસ્તવિક કાર્ય અમલીકરણો. આ એક મહત્વપૂર્ણ કોમ્પ્યુટર વિજ્ઞાન એક ઉદાહરણ છે સિદ્ધાંત માહિતી છુપાવવામાં કહેવાય છે, પણ અંતે ઓળખવામાં આવે છે ઇનકેપ્સ્યુલેશન તરીકે વખત. અથવા એક લાઈબ્રેરી ઓફ ક્લાઈન્ટ વપરાશકર્તા તરીકે, તમે જરૂર નથી માં પુસ્તકાલય ની આંતરિક વિશે જાણવા તેનો ઉપયોગ ઓર્ડર. Printf માત્ર એક બીટ પહેલા જોઈને યાદ રાખો? હતી તમે ક્યારેય વાસ્તવિક કોડ પહેલા જોઇ? વેલ, હું ધારે છે કે તમે નથી, છતાં પણ તમે કદાચ વખત printf ટન છે વપરાય છે. બધા તમે જાણવા હતી કાર્ય જાહેરાત હાજર હતો આ stdio.h હેડર ફાઈલ છે. કોઈપણ રીતે, સારી માહિતી છુપાવવામાં લાભ છે કે જે તમને અને કાર્યક્રમો તમે લખી કોઈપણ ફેરફારો માંથી ઇન્સ્યુલેટેડ છે પુસ્તકાલય વિધેયો અમલીકરણ ના કોડ. જો printf ફેરફારો અમલીકરણ, તમારી પાસે નથી પર જાઓ અને તમારા કાર્યક્રમો કે જે printf ઉપયોગ તમામ બદલો. તેથી જ્યાં અમલીકરણ જાઓ નથી? વેલ, ફરી, સંમેલન દ્વારા અમલીકરણ માં જાય છે આ સી. ફાઇલ એક્સ્ટેંશન સાથે ફાઇલ. સામાન્ય રીતે, હેડર ફાઈલો અને અમલીકરણ ફાઈલો હાથ જાઓ હાથમાં છે, તેથી જો તમે નવી શબ્દમાળા સમૂહ જાહેર કર્યું છે mystring.h કાર્યો, પછી તમે બધા વ્યાખ્યાયિત પડશે mystring તે વિધેયો સી.. તેથી પછી હેડર ફાઈલો અને અમલીકરણ પછી છે સંકલિત પદાર્થ ફાઈલો છે કે જે પછી કડી થાય છે સર્જન એકસાથે દ્વિસંગી પુસ્તકાલય ફાઈલ પેદા કરવા માટે. ગ્રંથાલયનો લેખક પછી દ્વિસંગી ફાઈલ સાથે જહાજ કરશે હેડર પ્રોગ્રામરો જે ઉપયોગ કરવા માંગો છો ફાઈલો સાથે પુસ્તકાલય. આ બિંદુએ છે, નહીં કે કો. અમલીકરણ ફાઇલો જરૂરી હોય, સિવાય શરૂઆતથી પુસ્તકાલય પુનઃકમ્પાઈલ કરવા, જેથી તેઓ ઘણી વાર બહાર છોડી રહ્યાં છો. માટે C લાઈબ્રેરીમાંથી વાપરવા માટે, તમે બે બાબતો હોય છે. પ્રથમ, તમારે # આ પુસ્તકાલયમાં હેડર ફાઈલો અને સમાવેશ કરવો જ જોઇએ સ્ત્રોત કોડ ફાઈલ કે જ્યાં તમે ઉપયોગ કરવા માગો છો આ પુસ્તકાલયમાં કોડ. આ જાહેરાતો તમામ કમ્પાઇલર જાણ કાર્યો, ચલો, સ્ટ્ર્ક્ટ્સ, વગેરે એટ છે, હાજર હેડર ફાઈલો કે જેથી કમ્પાઇલર એક વીમો કરી શકો છો, કે જે તમે યોગ્ય રીતે પુસ્તકાલયમાં સાધનો ઉપયોગ કરી રહ્યા છો, અને બે, એ યોગ્ય વિધાનસભા કોડ પેદા કરે છે. જ્યાં આ પુસ્તકાલયમાં હેડર ફાઈલો છે તેના પર આધાર રાખીને સ્થિત થયેલ છે, # સમાવેશ થાય છે વાક્યરચના બદલાય છે. જો હેડર ફાઈલો સિસ્ટમ માં સ્થિત થયેલ હોય છે મૂળભૂત ડિરેક્ટરી સમાવેશ થાય છે - ખાસ કરીને, usr/include-- પછી કોણ કૌંસ વાક્યરચના ઉપયોગ થાય છે, # તરીકે સમાવેશ થાય છે . જો કે, હેડર ફાઈલો જ સ્થિત છે ડિરેક્ટરી તમારી પોતાની કોડ તરીકે, ડબલ ક્વોટ વાક્યરચના છે ઉપયોગ થાય છે, જેમ # "mylib.h" સમાવેશ થાય છે. બીજા વસ્તુ તમારે કરવા માટે બાઈનરી લિંક છે પુસ્તકાલય ફાઈલ જ્યારે તમે તમારા કોડ કમ્પાઇલ. આ એક સુપર મહત્વપૂર્ણ પગલું છે. અમારા કેવી રીતે હેડર વિશે અગાઉ ચર્ચા યાદ રાખો ફાઈલો અમલીકરણ કોડ સમાવતું નથી? જો તમે આ પગલું ભૂલી ગયા હો, તમે ભૂલો વિશે મળશે અવ્યાખ્યાયિત પ્રતીકો તમારો કોડ સંદર્ભ. આ ઉકેલવા માટે વાપરવા માટે,-l ધ્વજ તરત જ અનુસરતા ગ્રંથાલયનો આ નામ દ્વારા એક જગ્યા વિના. આ સાધન, C ની સ્ટાન્ડર્ડ સહિત ઘણા સિસ્ટમો પર, પુસ્તકાલયો આપોઆપ તમારા માટે કડી થાય છે. જોકે, ગણિત લાઇબ્રેરી કેટલીક વખત અલગ બનીને છે અને માટે એલએમ સાથે જોડાયેલા કરવાની જરૂર પડી શકે છે. આ ઉપકરણ પર, અમે આ તમારા માટે કાળજી લેવા, અને અમે પણ lcs50-સાથે CS50 પુસ્તકાલય લિંક. તમે ઉપકરણ જ્યારે તમે રન બનાવવા પર આ તમામ જોઈ શકો છો. હવે તમે જ્ઞાન તમે ઉપયોગ કરવા જરૂર હોવી જોઈએ સી પુસ્તકાલયો અન્વેષણ મજા માણો. મારું નામ Nate Hardison છે, અને આ CS50 છે.