PDA

Visualizza la versione completa : [C]: Dll in MS-DOS


metal_prog
30-06-2007, 17:17
Prima di tutto scusate se rompo continuamente le scatole su questo forum. :)

Volevo fare una domanda: le DLL (Dinamic Link Library) si usano solo sotto Windows (almeno credo, visto che utilizzano le API), ma se io volessi usarle su di un sistema operativo tipo MS-DOS (o proprio MS-DOS)?
Grazie in anticipo. :)

alka
30-06-2007, 18:20
Dubito che sia possibile, visto che MS-DOS è un ambiente uniprogrammato... ma poi che utilità avrebbe? :stordita:

metal_prog
01-07-2007, 11:55
Più che altro è curiosità: se allora non ci sono le DLL come faceva allora con il kernel, che sui sitemi operativi di solito è una DLL? :confused:

alka
01-07-2007, 12:23
Originariamente inviato da metal_prog
Più che altro è curiosità: se allora non ci sono le DLL come faceva allora con il kernel, che sui sitemi operativi di solito è una DLL? :confused:
Se parli di DLL, parli di un file che ha un formato specifico.

Non esistono DLL, ma esistono ovviamente delle cose del tutto simili, per quanto in DOS non fossero necessari (il kernel può essere anche un solo programma caricato in memoria, con agganciati alcuni driver di periferica o altro).

Ma tu cosa intendi fare? Qual è lo scopo di questa discussione? :stordita:

MItaly
01-07-2007, 16:28
Ma il kernel di solito non è una dll... il kernel dei sistemi operativi NT, ad esempio, è ntoskrnl.exe (più eventuali dependencies). Forse sei stato ingannato dalla dll kernel32.dll, che però serve solamente come tramite tra le applicazioni e il kernel (la sua descrizione è, molto significativamente, "DLL client di Windows NT BASE API").
Tra l'altro non ha senso che il kernel sia una dll: una dll è del codice che viene caricato nello spazio di indirizzi di un processo e quindi richiamato, ma la stessa esistenza di un processo presuppone l'esistenza del kernel!

metal_prog
02-07-2007, 11:52
Quindi un Kernel è uneseguibile caricato in memoria, mentre per accederci deve esserci una dll tramite la quele i programmi accedono all'hardware?

oregon
02-07-2007, 11:54
No ... le Dll non le puoi usare con MSDOS ...

kentaromiura
02-07-2007, 12:04
Originariamente inviato da alka
Dubito che sia possibile, visto che MS-DOS è un ambiente uniprogrammato... ma poi che utilità avrebbe? :stordita:
veramente il dos 4 era multithreading, ma è stato segato subito perchè pieno di bachi :zizi:

edit: intendevo multitasking :zizi:

oregon
02-07-2007, 12:07
Multithreading il DOS 4 ? ... Era una battuta ...? :D

kentaromiura
02-07-2007, 12:09
Originariamente inviato da metal_prog
Prima di tutto scusate se rompo continuamente le scatole su questo forum. :)

Volevo fare una domanda: le DLL (Dinamic Link Library) si usano solo sotto Windows (almeno credo, visto che utilizzano le API), ma se io volessi usarle su di un sistema operativo tipo MS-DOS (o proprio MS-DOS)?
Grazie in anticipo. :)
dipende cosa intendi..
se vuoi realizzare una console application puoi utilizzare un linguaggio che permette la reflection
tipo java/c# per caricare dinamicamente assembly in memoria (concetto simile alle dll)
:dottò:

Loading