April 26, 2024, 05:45:02 AM

News:

Own IWBasic 2.x ? -----> Get your free upgrade to 3.x now.........


Static lib creation

Started by srod, December 07, 2006, 09:09:50 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

srod

Hi,

I'm considering purchasing E-BASIC, but have a question first regarding the creation of static libs.

I would be looking to use libs created by E-BASIC in some assembly language programs (GoAsm) and am therefore wondering if Emergence BASIC decorates functions names in any way?

Does it decorate function names in the 'C' style or not at all etc?

Thanks.

Ionic Wind Support Team

No decoration.  But I assume you want to use DLL's, not static libs.

Static libraries, also known as linker libraries, are generally only compatible with the development environment that created them.  Static libraries will cointain unresolved references that have to be set by the linker.  So you will need to link against the Emergence BASIC libraries to resolve those references.

A DLL on the other hand is already linked.

Paul.
Ionic Wind Support Team

srod

That's a good point - I didn't think of that.  :-[  That is a bit idiotic of me!

It was static libs that I was hoping to carry across. I would have soon come a cropper with that plan!  :)

I was hoping to avoid using the C runtime library by throwing in a few .obj's created without too much effort. Guess I'll have to code them in asm myself then.  No major deal.

Thanks for the reply.

Ionic Wind Support Team

The C runtime DLL crtdll.dll is included on all windows systems.  If you are using ASM then it's a matter of using an EXTERN directive and linking against an import library.  Depends in the linker your using.
Ionic Wind Support Team

Ionic Wind Support Team

On another note you can also use Emergence BASIC and inline assembly to write programs.

sub mysub
_asm
...place assembly statments here
_endasm
endsub

Or even at the global scope using just the _asm and _endasm directives. 
Ionic Wind Support Team

srod

GoAsm's linker doesn't require an import library for dll's, which is nice.

I'll code the .obj's I need by hand, I prefer it that way! ÂÃ, :)

Thanks again.