What's the difference between Windows' DLLs and Linux' "shared objects"?
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
AFAIR, "native" .dlls (as opposed to .NET assemblies) don't support backreferences (linux .so does)...
I can't give you any articles, sorry. Just one IMHO interesting difference: While linux completely follows the idea of a modular, but "monolithic", kernel, windows NT kernel was created with the microkernel principles in mind (but, for performance reasons, drivers and "kernel daemons" also run in ring-0, so it's not a real microkernel architecture)
For a really basic start, press F1 for the Gnome help program and run through the desktop User Guide to see which things are different.
If you need to use OpenOffice, its help system has a page "Comparing Microsoft Office and OpenOffice.org Terms" which is useful.
This site has a wiki which includes a guide to equivalent programs in the two systems.
The major differences are a product of history and usage. Linux is an imitation of Unix, a system created for mainframes, and it runs on the majority of servers. Windows was created for the pc, and runs on the majority of desktops. That explains some built-in differences like Linux's clear distinction between root and ordinary users, and high level of security. The fact that Linux is almost all open-source explains why most programs have dependencies (support files shared with others), while Windows software comes in complete packages. That in turn explains why Linux programs don't get installed in a single folder, but spread all over the place: a binary here, a library there, a document somewhere else. And the multi-user background explains why their configuration files are in the user's folder.
I've virtually no experience of Windows, but I've lived through CPM, MSDOS, QDOS, and Linux: like the insurance adverts say, change happens, and you'll get used to it in time.
Well, it is true that you did not get a direct answer to the question of dlls vs shared objects. BUT--You do not acknowledge the inputs you have already been given, and you do not state exactly what additional help you need.
1. Have you done any Google searches using "DLL" or "shared object"?
2. Have you done any searches here at LQ--or on Google--using "Windows vs. Linux"?
Please post the relevant parts of your own research, and the specific topic that you do not understand.
You've been on the LQ forums for awhile now. You should know that we will aid you when you help yourself to a solution. Provide us with what you have attempted and then maybe someone will be able to assist.
If it is using platform-specific calls (win32 api) -- better forget it, you would have to rewrite it. Of course it SHOULD be usable with wine, but only for windows executables running in wine, too.
If the code is only using libc and POSIX calls, it is platform-independent and you can create a .so simply by compiling and linking it with gcc on linux, but it is quite unlikely to find completely portable source for a windows dll...