Author Topic: multiplatform DLL format  (Read 16546 times)

nobody

  • Guest
multiplatform DLL format
« on: November 14, 2006, 08:18:48 AM »
Hi

Are there any formats similar to DLL formats around for nasm, which to would make it more multiplatform then just depending on a standard DLL file?

nobody

  • Guest
Re: multiplatform DLL format
« Reply #1 on: November 14, 2006, 02:43:28 PM »
Nasm doesn't depend on a .dll - Nasm depends on the C Standard Library. The library probably (almost certainly) depends on a .dll, but that's none of Nasm's business.

What platform would you like to see Nasm run on that it doesn't?

Best,
Frank

nobody

  • Guest
Re: multiplatform DLL format
« Reply #2 on: November 20, 2006, 08:40:53 AM »
uhm. let my try to reorganise that question abit. :)

Nasm is not the problem. In fact I use nasm because I need something multiplatform. And the most important platforms for me are Windows, Linux, Unix and BeOS (Today Zeta and Haiku). I havent doent a proper research on this, but for me to use .DLL files, wouldnt that restrict me to alot of Windows based design restrictions. The reason why Im asking here is because I remember seeing nasm having some dynamic linkable format of their own some time back. And if that is the case then I want to use that for the audio system Im developing. I know that this is probably a side question but Id really appriciate your advice on it. If not I respect that.

I currently use GCC 3.4.2 and Nasm.

cheers

LR

nobody

  • Guest
Re: multiplatform DLL format
« Reply #3 on: November 21, 2006, 05:45:25 AM »
Ah! Okay. I still may not quite understand what you want to do, but I'm closin' in on it... maybe...

If you use a Windows-format .dll, you'll be limited to those design decisions (obviously) - but I'm not sure exactly what those limitations are. You might want to adopt that format in spite of it, since it's quite popular.

Linux has the "shared object" format. I think it does essentially the same thing as a Windows .dll - but not compatible, AFAIK. I don't know details of either format.

Nasm's own format would be "rdoff" - I guess that's what you mean. Although it's got "dynamic" in the name, I'm not sure it has "dynamic libraries" in the sense I understand it. The documentation indicates it's suitable for static or dynamic linking, "depending on the complexity of the loader". Maybe the supplied loader is "complex" enough - or could be enhanced. I don't see the "-shared" option to rdfld, so I don't know how you'd do it. The only guys that know much about rdoff are Julian Hall and Yuri Zaparogets. Should be able to find (current???) e-mails for them in the docs for rdoff. Yuri's RADIOS site (SF) bears a notice that it's no longer under active development. (another one bytes the dust)

If you want to encapsulate your audio system into a dynamic library, linkable from "any OS", that may be tough. Probably could be done with enough conditional assembly, but if it's "nearly all" conditional, there isn't much point. If what you need is to be able to call a dll to handle OS-specific stuff from your audio system, the C standard library may be your best bet - msvcrt.dll for Windows, and libc.so for Linux. Not sure about the other OSen. You should be able to write fairly "portable" code that way.

I suspect you're looking for more than that. The correct answer to your question (from me) is probably "I don't know". I'm happy to discuss it further - if *one* of us learns something, I don't care which one. "Both" would be nice. :)

Best,
Frank