Холбогч ба Ачаагчийн хоорондох ялгаа

Агуулгын хүснэгт:

Холбогч ба Ачаагчийн хоорондох ялгаа
Холбогч ба Ачаагчийн хоорондох ялгаа

Видео: Холбогч ба Ачаагчийн хоорондох ялгаа

Видео: Холбогч ба Ачаагчийн хоорондох ялгаа
Видео: Жишээ нь холбогч ба ачигч 2024, Долдугаар сарын
Anonim

Гол ялгаа – Холбогч ба Ачаалагч

Компьютерт заавар өгөхийн тулд компьютерийн программыг ашигладаг. Энэ нь тодорхой програмчлалын хэлээр бичигдсэн байдаг. C, Java зэрэг програмчлалын хэлүүд нь өндөр түвшний програмчлалын хэл бөгөөд тэдгээр нь хүмүүст ойлгомжтой боловч компьютерт ойлгомжтой байдаг. Тиймээс өндөр түвшний программыг хэлний орчуулагч ашиглан машины хэл рүү хөрвүүлдэг. Өндөр түвшний хэлээр бичигдсэн программ бол эх код юм. Хөрвүүлсний дараа орчуулагдсан кодыг объектын код гэж нэрлэдэг. Холбогч ба дуудагч нь програмыг гүйцэтгэхэд ашигладаг хоёр програм хангамж юм. Энэ нийтлэлд Linker болон Loader хоёрын ялгааг авч үзэх болно. Linker нь объектын кодыг толгой файл гэх мэт нэмэлт файлуудтай холбож,.exe өргөтгөлтэй ажиллах боломжтой программ хангамж юм. Ачаалагч нь холбогчоос үүсгэсэн гүйцэтгэх файлыг үндсэн санах ой руу ачаалах системийн программ хангамж юм. Энэ бол Холбогч болон Ачаалагчийн гол ялгаа юм.

Linker гэж юу вэ?

Компьютерийн программ гэдэг нь тодорхой ажлыг гүйцэтгэхийн тулд компьютерт өгсөн зааврын багц юм. Компьютерийн программыг програмчлалын хэл ашиглан бичиж болно. Ихэнх програмчлалын хэл нь өндөр түвшний програмчлал юм. Тэдгээрийг програмист амархан ойлгож, унших боломжтой. Эдгээр хэлүүд нь англи хэлтэй төстэй синтаксийг дагадаг. Өндөр түвшний хэлний зарим жишээ бол Java, C, Python юм. Өндөр түвшний програмчлалын хэл ашиглан бичигдсэн програмыг эх код, эх файл эсвэл эх програм гэж нэрлэдэг. Эх кодын өргөтгөл нь түүнийг боловсруулсан хэлээс хамаарна. Хэрэв эх код нь C++ хэл дээр бичигдсэн бол файлын өргөтгөл нь.cpp. Хэрэв эх код нь Python дээр бичигдсэн бол өргөтгөл нь.py. байна.

Эх код нь хүртэл программист ойлгомжтой; Энэ нь компьютерт ойлгомжгүй байна. Тиймээс эх кодыг хэлний орчуулагч ашиглан машинд ойлгомжтой формат руу хөрвүүлэх хэрэгтэй. Энэ нь хөрвүүлэгч эсвэл орчуулагч байж болно. Орчуулсан кодыг объектын код гэж нэрлэдэг. Объект код нь машины хэл дээр байна. Энэ нь тэг ба нэгээс бүрдэнэ. Компьютер нь объектын кодыг шууд ойлгох боломжтой. Энэ нь.obj өргөтгөлтэй. Хэрэв Test.c гэсэн эх код байвал хөрвүүлэгчээр дамжиж хөрвүүлсэн код Test.obj болно.

Linker нь объектын кодыг толгой файл зэрэг нэмэлт файлуудтай холбож,.exe өргөтгөлтэй ажиллах боломжтой программ хангамж юм. Програм нь суулгасан функцуудыг ашигласан байж магадгүй. Эдгээр суурилагдсан функцүүдийн функцууд нь толгой файлуудад байдаг. Дээр тайлбарласан жишээний дагуу объектын код нь Test.obj-г Linker ашиглан шаардлагатай толгой файлуудаар нэмсэн. Энэ нь Test.exe нэртэй шинэ файл үүсгэдэг. Энэ нь гүйцэтгэх боломжтой файл юм. Тиймээс үүнийг компьютерт гүйцэтгэх боломжтой.

Ачаагч гэж юу вэ?

Гүйцэтгэх ёстой программыг санах ойд байрлуулах ёстой. Холбогч нь объектын код болон толгой файлуудыг холбож, гүйцэтгэх файлыг гаргана. Ачаалагч нь холбогчоос үүсгэсэн гүйцэтгэх файлыг үндсэн санах ой руу ачаалах системийн программ хангамж юм. Энэ нь санах ойн зайг үндсэн санах ой дахь гүйцэтгэх модульд хуваарилдаг. Тиймээс дуудагч нь программ болон номын санг ачаалах үүрэгтэй үйлдлийн системийн нэг хэсэг юм.

Холбогч ба ачигч хоёрын ялгаа
Холбогч ба ачигч хоёрын ялгаа

Зураг 01: Эх кодыг санах ойд ачаалах дараалал

Хөтөлбөрийг ачаалах нь хэд хэдэн алхмаас бүрдэнэ. Энэ нь санах ойд програмын зааврыг агуулсан гүйцэтгэх файлын агуулгыг уншихаас гадна гүйцэтгэгдэх файлыг ажиллуулахад шаардлагатай бэлтгэл ажлыг гүйцэтгэхэд оршино. Ачаалал дууссаны дараа үйлдлийн систем ачаалагдсан програмын код руу хяналтыг дамжуулж програмыг эхлүүлнэ. Embedded систем гэх мэт тусгай компьютерийн системд ерөнхийдөө ачигч байдаггүй. Код нь ROM-оор шууд ажиллана.

Холбогч ба Ачаагчийн хооронд ямар хамаарал байдаг вэ?

Linker-ийн гаралт нь Ачаалагч руу очно

Холбогч ба Ачаагч хоёрын ялгаа юу вэ?

Linker vs Loader

Linker нь объектын кодыг толгой файл гэх мэт нэмэлт файлуудтай холбож,.exe өргөтгөлтэй гүйцэтгэх файл үүсгэдэг программ хангамж юм. Ачаалагч нь холбогчоос үүсгэсэн гүйцэтгэх файлыг үндсэн санах ой руу ачаалдаг системийн программ хангамж юм.
Оролт
Холбогч нь объектын код болох хэлний орчуулагчийн гаралтыг авдаг. Ачаалагч нь гүйцэтгэгдэх файл болох холбогчоос гаралтыг авдаг.
Функциональ
Холбогч нь объектын код болон толгой файлуудыг холбож, гүйцэтгэх файлыг гаргадаг. Ачаалагч нь холбогчоос олж авсан гүйцэтгэх файлыг үндсэн санах ой руу ачаална.

Хураангуй – Холбогч ба Ачаалагч

Linker болон Loader нь програмын гүйцэтгэлтэй холбоотой хоёр програм хангамжийн бүрэлдэхүүн хэсэг юм. Энэ нийтлэлд Linker болон Loader хоёрын ялгааг авч үзсэн. Linker нь объектын кодыг толгой файл гэх мэт нэмэлт файлуудтай холбож,.exe өргөтгөлтэй ажиллах боломжтой программ хангамж юм. Ачаалагч нь холбогчоос үүсгэсэн гүйцэтгэх файлыг үндсэн санах ой руу ачаалах системийн программ хангамж юм. Энэ нь Linker болон Loader хоёрын ялгаа юм.

Зөвлөмж болгож буй: