ഗ്നു നിർമ്മിക്കുക പുസ്തകം - ലിനക്സ് ബിൽഡ് ഓട്ടോമാറ്റിക്

ലിനക്സിന്റെ എഴുതുകയും വിതരണങ്ങളും ഉപകരണങ്ങളും സംബന്ധിച്ച അവലോകനങ്ങളും ട്യൂട്ടോറിയലുകളും എഴുതുകയും ചെയ്യുന്ന സോഫ്റ്റ്വെയർ ഡെവലപ്മെന്റിൽ ഞാൻ വളരെയധികം ഉൾപ്പെട്ടിരിക്കുന്നു. നിർഭാഗ്യവശാൽ, 99.9% ആ സോഫ്റ്റ്വെയർ വികസനം വിൻഡോസ് പ്ലാറ്റ്ഫോമിൽ നടക്കുന്നു.

ഞാൻ ഒരു C ++, Visual Basic, VB.NET, C # ഡവലപ്പറും 20 വർഷത്തെ പരിചയവും കൂടാതെ ഒരു ഡിബിഎയും ഒരു ഡവലപ്പറും പോലെ എസ്.ക്.വെയറുമായി ഒരു ഡാബ് കൈപ്പാണ്.

ലിനക്സിനുള്ള സോഫ്റ്റ്വെയർ വികസിപ്പിക്കുന്നതിൽ ഞാൻ അത്രയൊന്നും നല്ലതല്ല. അത് ഒരിക്കലും എനിക്ക് പ്രശ്നമായിരുന്നില്ല. പകൽസമയത്ത് സോഫ്റ്റ് വെയർ വികസിപ്പിച്ചതിനു ശേഷം ഞാൻ ആഗ്രഹിക്കുന്ന അവസാന കാര്യം കൂടുതൽ സോഫ്റ്റ്വെയർ എഴുതുന്ന ഒരു വൈകുന്നേരം കിടക്കുന്നു എന്നതാണ് പ്രധാന കാരണം.

ഞാൻ സ്ക്രിപ്റ്റ് ചെയ്തതും ഒറ്റനോട്ടത്തിൽ ചെറിയ പ്രോഗ്രാമും എഴുതിക്കൊണ്ടിരിക്കുന്നതുപോലെയാണ്. റാസ്പ്ബെറി പി.ഐയിൽ ഇലക്ട്രോണിക്ക് അടിസ്ഥാന പ്രോജക്ടുകൾക്കുള്ളതാണ് ഇവ.

വിൻഡോസ് പ്ലാറ്റ്ഫോമിലെ പല ഡവലപ്പർമാരിലും ആദ്യം ലിനക്സിലേക്ക് നീങ്ങുന്നതോടെ കുഴപ്പങ്ങൾ ഉണ്ടാകുന്നു. ഒരുപക്ഷേ, ആപ്ലിക്കേഷനുകൾ ഉണ്ടാക്കാനും പായ്ക്ക് ചെയ്യാനുമുള്ള ഉപകരണങ്ങൾ സംബന്ധിച്ചും ഇത് പഠിക്കുന്നു.

വികസിപ്പിക്കുന്നതിനുള്ള ഏറ്റവും എളുപ്പമുള്ള ആപ്ലിക്കേഷൻ വെബ് ആപ്ലിക്കേഷനുകളാണ്. സാധാരണയായി അവർ കമ്പൈഡ് കോഡ് (പി.എച്ച്.പി., പെർൽ, പൈത്തൺ) ആവശ്യമില്ലാത്തതിനാൽ വെബ് സെർവറിലെ ഒരു സെറ്റ് സ്ഥലത്ത് ഫയലുകളെ വിന്യസിക്കുന്നു.

ലിനക്സിനുള്ള അനവധി പ്രയോഗങ്ങൾ സി, സി ++ അല്ലെങ്കിൽ പൈത്തൺ ഉപയോഗിച്ച് വികസിപ്പിച്ചെടുക്കുന്നു. ഒരു സി പ്രോഗ്രാമിന് സമാഹരിച്ചത് താരതമ്യേന എളുപ്പമാണ്, എന്നാൽ ഒന്നിലധികം ഡിപൻഡൻസികളുമായി സി പ്രോഗ്രാമുകളെ ക്രമീകരിക്കേണ്ടി വരുമ്പോൾ കാര്യങ്ങൾ കൂടുതൽ സങ്കീർണമാകുന്നു.

നിങ്ങളുടെ ആപ്ലിക്കേഷനുകൾ വീണ്ടും വീണ്ടും കറക്കാൻ സഹായിക്കുന്ന ഒരു ബിൽഡ് ഓട്ടോമാറ്റിഷൻ സ്ക്രിപ്റ്റിംഗ് ടൂൾ ആണ് ഗ്നു ക്രിയ. ഉദാഹരണത്തിന്, മൂല്യത്തെ ആശ്രയിച്ച് ഒരു പാരാമീറ്റർ 64-ബിറ്റ് അല്ലെങ്കിൽ 32-ബിറ്റ് ഉപയോഗിച്ച് ഒരു അപ്ലിക്കേഷൻ സമാഹരിക്കാൻ കഴിയും.

ഗ്നു നിർമ്മാതാക്കളെ സഹായിക്കാൻ ജോൺ ഗ്രഹാം-കുംമിങ്ങാണ് ഗ്നു നിർമ്മാതാക്കളെഴുതിയത്. ഗ്നു തയ്യാറാക്കാൻ സഹായിക്കുന്ന സങ്കീർണതകളെ പിടികൂടുന്നതിനായി ഗ്നു നിർമ്മിക്കുന്നു.

ആ പുസ്തകം ആറ് അധ്യായങ്ങളായി വിഭജിക്കപ്പെട്ടിരിക്കുന്നു.

  1. അടിസ്ഥാനമാക്കിയുള്ള പുനരവലോകനം
  2. Makefile ഡീബഗ്ഗിംഗ്
  3. കെട്ടിടവും പുനർനിർമ്മിക്കുന്നതുമാണ്
  4. തടസ്സങ്ങളും പ്രശ്നങ്ങളും
  5. എൻവലപ്പ് പ്രേരിപ്പിക്കുന്നു
  6. ഗ്നു സ്റ്റാൻഡേർഡ് ലൈബ്രറി

"എന്താണ് ഗ്നു മാനേജ്മെന്റ്?", "ഞാൻ എങ്ങനെ ഒരു ഫയൽ ഉണ്ടാക്കാം?", "എന്തുകൊണ്ട് ഒരു പുതിയ ഫയൽ ഉണ്ടാക്കാം?", "എന്തുകൊണ്ട് ഒരു പുസ്തകം ഉണ്ടാക്കാം? ഓരോ പ്രോഗ്രാമും ഒന്നൊന്നായി കംപൈൽ ചെയ്യുന്നതിനേക്കാൾ മികച്ചതാക്കാൻ ശ്രമിക്കുകയാണോ? " കൂടാതെ "ഗ്നുവിനെ സഹായിക്കുന്ന പ്രോഗ്രാമുകളെ ഞാൻ എങ്ങനെ സമാഹിക്കും?". ഈ വിഷയങ്ങളെല്ലാം ഗ്നു നിർമ്മിക്കുക മാനുവലിലാണ് .

ആദ്യ അദ്ധ്യായം "അടിസ്ഥാനങ്ങൾ" എന്നതിന് എതിരായി "ബേസിക് റിവിസ്റേറ്റഡ്" എന്ന് വിളിക്കുന്നു എന്ന വസ്തുത നിങ്ങൾ ആരംഭിക്കുന്നതിനുമുമ്പ് വിഷയം സംബന്ധിച്ച് ഒരു അടിസ്ഥാന ധാരണയുണ്ടെന്ന് പ്രതീക്ഷിക്കുന്നു.

ആദ്യത്തെ അധ്യായത്തിൽ, വേരിയബിളുകൾ, കമാൻഡുകൾ ഉപയോഗിയ്ക്കുന്ന പരിതസ്ഥിതികൾ, $ (ഷെൽ) എൻവയോൺമെന്റ് തുടങ്ങിയ എല്ലാ അടിസ്ഥാന ഘടകങ്ങളെയും ഉൾപ്പെടുത്തിയിരിക്കുന്നു. അധ്യായം നീങ്ങുമ്പോൾ, നിങ്ങൾ താരതമ്യം ചെയ്യുന്നതും ലിസ്റ്റുചെയ്തും ഉപയോക്താവ് നിർവ്വചിച്ച പ്രവർത്തനങ്ങളുമായി ബന്ധപ്പെട്ട വിഷയത്തിൽ പ്രവേശിക്കുന്നു.

നിങ്ങൾ ഗ്നുപയോഗിച്ച് കുറച്ച് സമയമെടുക്കുകയാണെങ്കിൽ, ഇതുവരെ നിങ്ങളുടെ വിദഗ്ദ്ധനെ പരിഗണിക്കാതിരിക്കുകയാണെങ്കിൽ ചില നല്ല സൂചനകളും നുറുങ്ങുകളും ഉടൻ പ്രത്യക്ഷപ്പെടാത്ത ചില സങ്കീർണ്ണതകൾ മനസിലാക്കാൻ സഹായിക്കും.

രണ്ടാമത്തെ അധ്യായം നിങ്ങൾ സ്ക്രിപ്റ്റുകൾ ഉണ്ടാക്കുന്നതിൽ പിശകുകൾ കുടുക്കാൻ ശ്രമിക്കുന്ന ഒരു വ്യക്തിയെയായിരിക്കും. Makefile ഡീബഗ്ഗിങ് വിഭാഗം ഡീബഗ്ഗിങ്ങിനുള്ള ഡീബഗ്ഗിങ്ങിനുള്ള മികച്ച സൂചനകളും നുറുങ്ങുകളും നിറഞ്ഞതാണ്, കൂടാതെ പ്രിന്റ് വേരിയബിൾ മൂല്യങ്ങളിൽ സെക്ഷനുകളും ഓരോ വേരിയബിളിന്റെയും മൂല്യം ഇരട്ടിയാക്കുന്നു. അധ്യായത്തിലേക്ക് കൂടുതൽ കടന്നുവന്നിട്ടുണ്ടു്, സ്ക്രിപ്റ്റുകളിലൂടെ കടന്നു പോകുവാൻ നിങ്ങൾക്കു് ഉപയോഗിക്കാവുന്ന ഗ്നു ഡീബഗ്ഗറിന്റെ മാർഗ്ഗനിർദ്ദേശങ്ങളുണ്ട്.

മൂന്നാമത്തെ അധ്യായത്തിൽ ഉദാഹരണങ്ങൾ ഉണ്ടാക്കുക, പക്ഷെ അതിലും കൂടുതൽ നിങ്ങൾ വീണ്ടും വീണ്ടും റൺ ചെയ്യാവുന്ന Makefiles സൃഷ്ടിക്കുന്നതെങ്ങനെയെന്ന് കാണിക്കുന്നു.

"അബദ്ധങ്ങളും പ്രശ്നങ്ങളും" =,: =,, ifefef, and = പോലുള്ള ചില നിബന്ധനകൾ തമ്മിലുള്ള വ്യത്യാസം നോക്കുന്നു.

ഞാൻ ഗ്നുവിനെ സഹായിക്കാൻ സജീവമായി ശ്രമിച്ചിട്ടില്ല. കാരണം എന്റെ അറിവ് വളരെ അടിസ്ഥാനപരമായ തലത്തിലാണ്. ചില വിഷയങ്ങൾ എന്റെ തലയിൽ കൂടുതൽ പോയി.

ഞാൻ "എൻവലപ്പ് പ്രേരിപ്പിക്കുന്നു" അധ്യായത്തിൽ ഞാൻ എന്റെ കണ്ണുകൾ അല്പം പുളഞ്ഞു.

എന്റെ പ്രധാന സംഗ്രഹം, ഞാൻ ഈ പുസ്തകം സംസ്കരിക്കേണ്ടതുണ്ടെങ്കിൽ, ആ സ്രഷ്ടാവ് തന്റെ സ്റ്റഫ് അറിയാമെന്ന് മാത്രമല്ല, കഴിയുന്നത്ര വിവരങ്ങൾ കൈമാറാൻ ശ്രമിക്കുകയും ചെയ്തു.

പ്രശ്നം ചിലപ്പോൾ ഒരു വിഷയം വിദഗ്ദ്ധർ എന്തെങ്കിലും എഴുതാൻ ശ്രമിക്കുമ്പോൾ അത് അവർക്കുള്ളതാണ് "ഓഹ് എളുപ്പമുള്ളതാണ്, നിങ്ങൾ ചെയ്യേണ്ടത് എല്ലാമാണ് ...." അവയെക്കുറിച്ച് ഉള്ള പ്രമേയം.

എന്റെ പുറകുവശത്ത് റബ്ബർ സീൽ കഴിഞ്ഞ ആഴ്ചയിൽ നിന്നും ഇറങ്ങി വന്നു, അത് വെറും രണ്ടു വയസ്സുള്ളപ്പോൾ ഞാൻ വാറന്റി ഇപ്പോഴും അത് അനുയോജ്യമായ കമ്പനി വിളിച്ചു.

ഫോണിൽ സംസാരിച്ച ഒരു സ്ത്രീ പറഞ്ഞു, "ഓ, അത് ശരിയാണ്, ഞാൻ നിങ്ങൾക്ക് ഒരു പുതിയ മുദ്ര അയയ്ക്കും".

ഞാൻ പറഞ്ഞു, "അയ്യോ ഞാൻ തന്നെ ആക്കണം? ഇത് ചെയ്യാൻ കഴിയുന്ന എന്തെങ്കിലും?"

മറുപടിയായിരുന്നു "നിങ്ങൾക്ക് കഴിയുമെങ്കിൽ, നിങ്ങൾ ചെയ്യേണ്ടത്, വാതിൽ എടുത്തു, മുദ്രയിടുന്നതിന് ശേഷം വാതിൽ അടയ്ക്കുക".

ഇപ്പോൾ എന്റെ തൽക്ഷണ ചിന്ത "അയ്യോ, അവിടെ ഒരു ബിറ്റ് റിവൈസ് ചെയ്യുക, വാതിൽ എടുത്തുകളയുകയാണോ?"? ഒരു വാതിൽ അടക്കിവാക്കാൻ എനിക്ക് യോഗ്യനല്ല, ഒരു മുദ്രാവാക്യം വിളിച്ച് വാതിൽ അടക്കിപ്പിടിക്കുക. ഞാൻ വിദഗ്ധരോട് അത് വിടുകയാണ്.

ഈ പുസ്തകം ഉപയോഗിച്ച്, നിങ്ങളെ സഹായിക്കുന്നതിനു മുമ്പ് മറ്റൊരു പുസ്തവും ഒരു പരിചിത അനുഭവവും Makefiles എഴുതണമെന്ന് എനിക്ക് തോന്നുന്നു.

ചില സൂചനകൾ "ഓ, അതുകൊണ്ടാണ് അങ്ങനെ ചെയ്യുന്നത്" എന്നോ "നിങ്ങൾക്ക് അങ്ങനെ ചെയ്യാൻ കഴിയുന്നില്ലെന്നോ എനിക്ക് മനസ്സിലായില്ല" എന്ന് സൂചിപ്പിച്ച സൂചനകളും നുറുങ്ങുകളും അറിവും സഹായിക്കുമെന്ന് ഞാൻ കരുതുന്നു.

അതിനാൽ ഗ്നു നിർമ്മിതിക്ക് കൂടുതൽ അറിവു നേടുന്നതിന് കൂടുതൽ വ്യക്തതയോ അല്ലെങ്കിൽ ഇന്റർമീഡിയറ്റ് ആവശ്യമാണെങ്കിലോ ഈ പുസ്തകം നിങ്ങൾ വാങ്ങണമെന്നാണ് എന്റെ വിലയിരുത്തൽ. എന്നാൽ ഇത് തുടക്കക്കാർക്ക് ഒരു പുസ്തകമല്ല.