Ассембл болон DLL хоёрын ялгаа

Ассембл болон DLL хоёрын ялгаа
Ассембл болон DLL хоёрын ялгаа

Видео: Ассембл болон DLL хоёрын ялгаа

Видео: Ассембл болон DLL хоёрын ялгаа
Видео: КАК ПРИГОТОВИТЬ БОГРАЧ. ТАК Я ЕЩЁ НЕ ГОТОВИЛ. ЛУЧШИЙ РЕЦЕПТ 2024, Долдугаар сарын
Anonim

Ассембл болон DLL

Номын сан нь програм боловсруулахад ашиглаж болох нөөцийн цуглуулга юм. Номын сан нь ихэвчлэн дэд программ, функц, анги, утга, төрлөөс бүрддэг. Холбох явцад (ихэвчлэн холбогчоор хийдэг) номын сан болон гүйцэтгэгдэх файлууд бие биедээ лавлагаа хийдэг. DLL файлууд нь динамикаар холбогдсон номын сангийн файлууд юм. DLL программыг Microsoft хөгжүүлсэн. Гэвч DLL файлуудтай холбоотой зарим асуудлаас болж Microsoft нь Ассемблей файлын форматыг (. NET хүрээтэй) гаргасан. Ассемблей файлууд физикийн хувьд DLL-тэй маш төстэй боловч дотооддоо олон ялгаатай байдаг.

DLL гэж юу вэ?

Dynamic Link Library (илүү түгээмэл DLL гэгддэг) нь Microsoft-ын боловсруулсан дундын номын сангийн хэрэглүүр юм. Энэ нь.dll,.ocx эсвэл.drv өргөтгөлүүдийг ашигладаг бөгөөд тэдгээрийг Microsoft Windows болон OS/2 үйлдлийн системд ашигладаг..dll нь ердийн DLL файлуудад ашиглагддаг. Мөн.ocx өргөтгөлийг ActiveX удирдлага агуулсан номын сангууд,.drv өргөтгөлийг хуучин системийн драйвер файлуудад ашигладаг. DLL файлын формат нь Windows EXE файлуудтай ижил байна (32 бит/64 бит Windows дээр зөөврийн гүйцэтгэх файлууд, 16 бит Windows дээр шинэ гүйцэтгэх боломжтой). Тиймээс код, өгөгдөл, нөөцийн аль ч хослолыг DLL файлд агуулж болно (яг л EXE файлууд шиг). Үнэн хэрэгтээ DLL файлын форматтай өгөгдлийн файлуудыг нөөцийн DLL гэж нэрлэдэг. Дүрс сангууд (.icl өргөтгөлтэй) болон фонтын файлууд (.fon болон.fot өргөтгөлтэй) нь нөөц DLL-н жишээ юм.

Хэсэг гэж нэрлэгддэг бүрэлдэхүүн хэсгүүд нь DLL-ийг бүрдүүлдэг бөгөөд хэсэг бүр зөвхөн унших/бичих, гүйцэтгэх/гүйцэтгэх зэрэг өөрийн гэсэн шинж чанартай байдаг. Кодын хэсгүүдийг гүйцэтгэх боломжтой, харин өгөгдлийн хэсгүүдийг гүйцэтгэх боломжгүй. Кодын хэсгүүдийг хуваалцаж, өгөгдлийн хэсгүүд нь хувийн байна. Энэ нь DLL ашигладаг бүх процессууд кодын ижил хуулбарыг ашиглах ба процесс бүр өөрийн гэсэн мэдээллийн хуулбартай байх болно гэсэн үг юм. Windows-д зориулсан үндсэн динамик номын сан нь Windows дээрх үндсэн функцуудыг (файл болон санах ойтой холбоотой функц) агуулсан kernel32.dll юм. COM (Компонент объектын загвар) нь DLL-ийн OOP (Объект хандалтат програмчлал) хүртэлх өргөтгөл юм. Ердийн DLL файлуудыг COM файлуудаас ашиглахад хялбар байдаг.

Чуулган гэж юу вэ?

Assembly файлуудыг DLL файлуудтай холбоотой хэд хэдэн асуудлыг шийдэхийн тулд Майкрософт танилцуулсан. Ассемблей файлуудыг Microsoft. NET framework-той танилцуулсан. Гүйцэтгэх боломжтой логик функцийн нэгжийг Ассемблей гэж нэрлэдэг. Ассемблейг. NET CLR (Common Language Runtime) дагуу гүйцэтгэх боломжтой. Бие махбодийн хувьд угсралт нь EXE эсвэл DLL файл хэлбэрээр байдаг. Гэхдээ тэдгээр нь дотооддоо Microsoft Win32 DLL-ээс эрс ялгаатай. Ассемблер файл нь манифест, мета өгөгдөл, MISL (Microsoft Intermediate Language code) болон бусад эх сурвалжуудаас бүрдэнэ. Чуулган бол өөрөө өөрийгөө тодорхойлдог. Манифест нь нэр, хувилбар, соёл, хүчтэй нэр, файлын жагсаалт, төрөл, хамаарал зэрэг мэдээллийг агуулдаг. MISL кодыг CLR-ээр гүйцэтгэдэг (үүнийг шууд гүйцэтгэх боломжгүй).

Ассембл болон DLL хоёрын ялгаа нь юу вэ?

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

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