Sākums

Kompilators
Pirma programma
Pievienot ikonu
Modules

Dinamisko saišu bibliotēkas (DLL)

Kas tas ir – DLL

DLL (dynamic-link library) vai dinamisko saišu bibliotēkas tas ir izpildāmais fails līdzīgs „exe”, bet tam nav „Main()” funkcijas. Main() funkcija var būt, bet nav obligāta.

DLL faili domāti un veidoti lai mēs izveidoto funkciju varētu izmantot vairākas programmas. Tas, protams, ir ļoti vienkāršs paskaidrojums, vairāk informācijas ir šeit vai šeit (angļu valodā)

Mūsu piemērā izveidosim vienkāršu bibliotēku, kas ģenerē gadījuma skaitli, un kad mums būs vajadzīgs tāds skaitlis tas būs pieejams.

mud.cs

using System;

namespace MusuDLL
{
	public class random
	{
		public static int ran(int min, int max)
		{
		Random r = new Random();
		return r.Next(min, max);
		}
	}
}

Nosaukumvietā „namespace MusuDLL” izveidota klase „random” un funkcija „ran”. Iebūvēta funkcija „Random()” ģenerē gadījuma skaitli un funkcija „Next()” atgriež to skaitļi.

Tagad mēs varam sākt kompilāciju.

csc /target:library /out:MusuDLL.dll mud.cs

Dodam tādu komandu ar „cmd.exe”, vai izveidojam atbilstošo „bat” failu. Rezultātā saņemam „MusuDLL.dll” failu.

Kas tālāk

Paša par sevi šī bibliotēka neko nedara, lai to „iedarbināt” vajadzīga pilnvērtīga programma vai „exe” fails.

tests.cs

//tests.cs (Mūsu bibliotēkas pārbaudīšana.) 
using System;
using MusuDLL; //Pieslēdzam mūsu bibliotēku 

namespace tests
{
	class testers
	{
		static void Main(string[] args)
		{
			Console.WriteLine("Parādam gadījuma skaitli.");
			
			int g_skaitlis = random.ran(5,20); 
			//Veidojam objektu no klases „random” 
			//un funkcijas „ran” 
			
			Console.WriteLine(g_skaitlis); 
			//drukajam objektu "g_skaitlis" 
			//(gadījuma skaitlis)
			Console.ReadLine();
		}
	}
}

Kodā mēs varam redzēt rindu „using MusuDLL;”, bibliotēka šeit pieslēdzas ne pēc faila nosaukuma, bet pēc nosaukumvietas (namespace) iekš bibliotēkas.

Ja mēs kompilēsim bez izmaiņām, tad kompilēšanas komanda izskatīsies šādi:

csc /out:Tests.exe /reference:MusuDLL.dll tests.cs

Bet mēs varam pārbaudīt un pārdēvēt mūsu bibliotēku (MusuDLL.dll). Nosauksim to teiksim par „cita.dll”, tad arī kompilēšanas komandai jābūt arī citai.

csc /out:Tests.exe /reference:cita.dll tests.cs

Ja mēs mainīsim nosaukumvietas vārdu, tad arī būs jānomaina „using” iekš testēšanas programmas (Tests.exe) kodā.

DLL.zip ar visiem failiem atrodas šeit.

Jersikas pamatskola 2012. Sastādīja Viktors salimgarejevs.