សៀវភៅ GNU Make Book - បង្កើនការធ្វើឱ្យលីនុចកសាងស្វ័យប្រវត្តិ

ក្រៅពីការសរសេរអំពីលីនុចនិងការសរសេរការត្រួតពិនិត្យនិងការបង្រៀនអំពីការបែងចែកនិងឧបករណ៍ខ្ញុំក៏ចូលរួមយ៉ាងខ្លាំងក្នុងការអភិវឌ្ឍកម្មវិធី។ ជាអកុសល 99,9% នៃការអភិវឌ្ឍន៍កម្មវិធីនោះកើតឡើងនៅលើវេទិកាវីនដូ។

ខ្ញុំមានបទពិសោធជាង 20 ឆ្នាំជា C ++, វីហ្សួលបេហ៊្សិក, VB.NET, និង C # developer ហើយខ្ញុំក៏ជាដៃអ្នកគាំទ្រជាមួយ SQL Server ទាំង DBA និងអ្នកអភិវឌ្ឍន៍។

អ្វីដែលខ្ញុំមិនសូវល្អនោះគឺការបង្កើតកម្មវិធីសម្រាប់លីនុច។ វាគ្រាន់តែជាអ្វីដែលខ្ញុំមិនដែលរំខានជាមួយ។ ហេតុផលចម្បងគឺថាបន្ទាប់ពីការអភិវឌ្ឍកម្មវិធីក្នុងពេលថ្ងៃរឿងចុងក្រោយដែលខ្ញុំចង់ធ្វើគឺអង្គុយនៅក្បែរកម្មវិធីសរសេរកម្មវិធីល្ងាច។

ខ្ញុំពិតជាមើលទៅដូចជា tinkering ជាមួយនឹងការស្គ្រីបនិងការសរសេរកម្មវិធីតូចសេស។ ទាំងនេះជាធម្មតាសម្រាប់ គម្រោង ដែលមានមូលដ្ឋានលើគ្រឿងអេឡិចត្រូនិច នៅលើ Raspberry PI

រឿងមួយដែលអ្នកអភិវឌ្ឍន៍ជាច្រើននៅលើវេទិកាវីនដូនឹងមានបញ្ហានៅពេលដែលពួកគេផ្លាស់ទីទៅលីនុចជាលើកដំបូងកំពុងរៀនអំពីឧបករណ៍ដែលត្រូវការដើម្បីបង្កើតនិងដាក់កម្មវិធី។

ជាទូទៅប្រភេទកម្មវិធីដែលងាយស្រួលបំផុតសម្រាប់បង្កើតគឺកម្មវិធីបណ្ដាញពីព្រោះជាទូទៅពួកគេមិនត្រូវការកូដចងក្រង (PHP, Perl, Python) និងឯកសារត្រូវបានគេដាក់ទៅកន្លែងកំណត់នៅលើម៉ាស៊ីនមេ។

កម្មវិធីជាច្រើនដែលបង្កើតឡើងសម្រាប់លីនុចត្រូវបានបង្កើតដោយប្រើ C, C ++ ឬ Python ។ ការចងក្រងកម្មវិធី C តែមួយគឺមានភាពងាយស្រួលបន្តិចប៉ុន្តែនៅពេលដែលអ្នកត្រូវការចងក្រងកម្មវិធីមួយចំនួននៃកម្មវិធី C ជាមួយភាពពឹងផ្អែកច្រើនរឿងនឹងពិបាកបន្តិច។

GNU Make គឺជាឧបករណ៍បង្កើតស្គ្រីបដោយស្វ័យប្រវត្តិដែលជួយអ្នកចងក្រងកម្មវិធីរបស់អ្នកម្តងហើយម្តងទៀតនិងតាមវិធីផ្សេងៗគ្នា។ ឧទាហរណ៍អ្នកអាចផ្ដល់ប៉ារ៉ាម៉ែត្រដែលអាស្រ័យលើតម្លៃនឹងចងក្រងកម្មវិធីដោយប្រើ 64 ប៊ីតឬ 32 ប៊ីត។

សៀវភៅ GNU Make book ត្រូវបានសរសេរដោយលោក John Graham-Cumming ដើម្បីជួយអ្នកប្រើរបស់ GNU ធ្វើឱ្យមានភាពរឹងមាំជាងមុននៃភាពស្មុគស្មាញដែលទាក់ទងនឹង GNU Make ។

សៀវភៅនេះត្រូវបានបែងចែកជា 6 ជំពូក:

  1. មូលដ្ឋានបានពិនិត្យឡើងវិញ
  2. ការបំបាត់កំហុស Makefile
  3. ការកសាងនិងការស្ថាបនាឡើងវិញ
  4. បញ្ហានិងបញ្ហា
  5. រុញស្រោមសំបុត្រ
  6. បណ្ណាល័យស្តង់ដារ GNU

ខ្ញុំមិនជឿថាសៀវភៅនេះពិតជាមានគោលបំណងសម្រាប់អ្នកចាប់ផ្តើមដំបូងទេព្រោះវាខ្វះការបញ្ជាក់ច្បាស់លាស់ខ្លះដែលអ្នករំពឹងនៅពេលរៀនប្រធានបទថ្មីដូចជា "តើ GNU Make?", "តើខ្ញុំបង្កើតឯកសារបង្កើតឯកសារដោយរបៀបណា?", "ហេតុអ្វី កំពុងប្រើការធ្វើឱ្យប្រសើរឡើងជាងការចងក្រងកម្មវិធីនីមួយៗម្ដងមួយៗ? " និង "តើខ្ញុំចងក្រងកម្មវិធីដោយប្រើ GNU Make?" ។ ទាំងអស់នៃប្រធានបទទាំងនេះត្រូវបានគ្របដណ្តប់នៅក្នុង សៀវភៅដៃរបស់ GNU

ការពិតដែលថាជំពូកទីមួយត្រូវបានគេហៅថា "មូលដ្ឋានការមើលថែ" ផ្ទុយនឹង "មូលដ្ឋានគ្រឹះ" បង្ហាញយ៉ាងច្បាស់ថាអ្នកត្រូវបានគេរំពឹងថានឹងមានមូលដ្ឋានគ្រឹះនៅក្នុងប្រធានបទមុនពេលអ្នកចាប់ផ្តើម។

ជំពូកដំបូងគ្របដណ្តប់លើមូលដ្ឋានទាំងអស់ដូចជាការប្រើប្រាស់អថេរបរិស្ថានប្រើប្រាស់ដោយពាក្យបញ្ជានិងបរិស្ថាន $ (សែល) ។ ដូចជជំពូកផ្លាស់ទីលើអ្នកចូលទៅក្នុងប្រធានបទនៃការប្រៀបធៀបបញ្ជីនិងមុខងារដែលកំណត់ដោយអ្នកប្រើ។

ប្រសិនបើអ្នកបានប្រើ GNU ធ្វើឱ្យទាន់សម័យប៉ុន្តែមិនទាន់គិតថាខ្លួនអ្នកជំនាញអ្នកនឹងមានគន្លឹះនិងព័ត៌មានជំនួយល្អ ៗ ដែលនឹងជួយអ្នកឱ្យយល់អំពីការស្មុគស្មាញដែលមិនច្បាស់ភ្លាមៗ។

ជំពូកទី 2 នឹងក្លាយជាព្រះសក្តិសមមួយសម្រាប់អ្នកដែលបានព្យាយាមអន្ទាក់កំហុសក្នុងការបង្កើតស្គ្រីប។ ផ្នែក "Makefile Debugging" គឺពោរពេញដោយគន្លឹះនិងគន្លឹះដ៏ល្អបំផុតសម្រាប់បំបាត់កំហុស Makefiles និងរួមបញ្ចូលផ្នែកស្តីពីការបោះពុម្ពតម្លៃអថេរនិងសូម្បីតែចាក់សំរាមនៃតម្លៃនីមួយៗ។ លើសពីនេះទៅទៀតនៅក្នុងជំពូកមានការណែនាំទៅកម្មវិធីបំបាត់កំហុស GNU ដែលអ្នកអាចប្រើដើម្បីឆ្លងកាត់ស្គ្រីប។

ជំពូកទីបីរួមបញ្ចូលទាំង makefiles ឧទាហរណ៍ប៉ុន្តែច្រើនជាងនេះបង្ហាញអ្នកពីរបៀបបង្កើត Makefiles ដែលអ្នកអាចដំណើរការម្តងហើយម្តងទៀត។

"ភាពកខ្វក់និងបញ្ហា" មើលភាពខុសគ្នារវាងពាក្យជាក់លាក់ដូចជា = និង: = និង ifndef and? = ។

ខ្ញុំបានរកឃើញនៅពេលដែលខ្ញុំបានបន្តទៀតតាមរយៈសៀវភៅនេះព្រោះខ្ញុំមិនព្យាយាមប្រើ GNU ធ្វើយ៉ាងសកម្មហើយដោយសារចំណេះដឹងរបស់ខ្ញុំស្ថិតក្នុងកម្រិតមូលដ្ឋានមួយចំនួនបញ្ហាប្រធានបទមួយបានកើតឡើងយ៉ាងខ្លាំងនៅលើក្បាលរបស់ខ្ញុំ។

នៅពេលដែលខ្ញុំបានទៅ "ជម្រុញស្រោមសំបុត្រ" ជំពូកភ្នែករបស់ខ្ញុំ glazed ជាងអ្វីមួយ។

សេចក្ដីសង្ខេបសំខាន់របស់ខ្ញុំប្រសិនបើខ្ញុំត្រូវសរុបសៀវភៅនេះគឺថាអ្នកនិពន្ធដឹងយ៉ាងច្បាស់ពីវត្ថុរបស់គាត់ហើយបានព្យាយាមផ្សព្វផ្សាយព័ត៌មានច្រើនតាមតែអាចធ្វើទៅបាន។

បញ្ហាគឺថាជួនកាលនៅពេលដែលអ្នកជំនាញបញ្ហាប្រធានបទមួយព្យាយាមសរសេរអ្វីមួយចុះពួកគេមាន "អូវាមានភាពងាយស្រួលអ្វីដែលអ្នកត្រូវធ្វើគឺ .... " អំពីពួកគេ។

ការបិទត្រាកៅស៊ូនៅលើទ្វារក្រោយខ្នងរបស់ខ្ញុំបានកើតឡើងកាលពីសប្តាហ៍មុនហើយដោយសារតែវាទើបតែពីរឆ្នាំមកហើយខ្ញុំបានហៅក្រុមហ៊ុនដែលបំពាក់វាឱ្យនៅដដែល។

ស្ត្រីនៅលើទូរស័ព្ទបាននិយាយថា "អូ៎មិនអីទេខ្ញុំនឹងផ្ញើត្រាថ្មីឱ្យអ្នក" ។

ខ្ញុំនិយាយថា "អូ៎តើខ្ញុំត្រូវសមនឹងខ្លួនឯងដែរឬទេ? តើខ្ញុំអាចធ្វើអ្វីបានទេ" ។

ការឆ្លើយតបគឺ "សូមប្រាកដថាអ្នកអាចធ្វើបាន, អ្វីដែលអ្នកត្រូវធ្វើគឺយកចេញពីទ្វារ, សមនឹងត្រានិងដាក់ទ្វារត្រឡប់មកវិញ" ។

ឥឡូវនេះការគិតភ្លាមៗរបស់ខ្ញុំគឺ "ចឹង, ត្រលប់មកវិញបន្តិច។ យកទ្វារបិទ?" ។ ខ្ញុំមិនមានគុណសម្បត្តិគ្រប់គ្រាន់ក្នុងការដកចេញនូវទ្វារមួយដែលសមនឹងត្រានិងបញ្ចូលទ្វារ។ ខ្ញុំទុកវាឱ្យអ្នកជំនាញ។

ជាមួយនឹងសៀវភៅនេះខ្ញុំមានអារម្មណ៍ថាអ្នកត្រូវការសៀវភៅមួយផ្សេងទៀតនិងមានបទពិសោធន៏មួយចំនួនក្នុងការសរសេរ Makefiles មុនពេលដែលអ្នករកវាឃើញ។

ខ្ញុំគិតថាគន្លឹះគន្លឹះនិងចំណេះដឹងដែលបានផ្តល់ឱ្យអាចជួយអ្នកខ្លះនិយាយថា "អូ៎ហេតុដូច្នេះហើយបានជាវាធ្វើ" ឬ "ខ្ញុំមិនបានដឹងថាអ្នកអាចធ្វើវាបែបនោះបានទេ" ។

ដូច្នេះការប៉ាន់ប្រមាណរបស់ខ្ញុំគឺថាអ្នកគួរតែទិញសៀវភៅនេះប្រសិនបើអ្នកស្វែងរកការបំភ្លឺឬច្រើនជាងនេះទៅកម្រិតចំណេះដឹងកម្រិតខ្ពស់នៅលើ GNU Make ប៉ុន្តែវាមិនមែនជាសៀវភៅសម្រាប់អ្នកចាប់ផ្តើមដំបូងនោះទេ។