[erlang-questions] Difference between ei.a and ei_st.a?

Zabrane Mickael <>
Mon Sep 3 13:16:47 CEST 2012


1000x thanks Egil.

Regards,
Zabrane

On Sep 3, 2012, at 11:40 AM, Björn-Egil Dahlberg wrote:

> On 2012-09-03 06:27, Zabrane Mickael wrote:
>> Hi Björn,
>> 
>>> ST is not thread safe. You get only libei_st.a if configure can't find a suitable thread library.
>>> Both are built when a thread library is found.
>> Ok I see. So the best is to link with "libei.a" which is threa safe (and avoid "ibei_st.a"), right?
>> 
>> Does the same apply for windows? Should I link with "ei.lib" instead of "ei_md.lib"?
> MD = multithreaded dynamic
> MDD = multithreaded dynamic with debug symbols
> 
> (Became unsure and have to look it up =)
> 
> Note also that in the non-windows case the name can change meaning.
> 
> If thread lib detected
> libei_st = not thread safe (single threaded)
> libei = thread safe
> 
> if no thread lib is detected
> libei = not thread safe (single threaded)
> 
> I'm unsure if this is a wise convention. Probably just to be able to say "link with libei.a and liberl_interface.a" regardless.
> 
> This can all be seen in lib/erl_interface/src/Makefile.in
> 
> // egil
> 
> 
>> 
>>> On a side note. Are you sure you want to use erl_interface in a NIF or a linked-in driver?
>> No no, it was just an example.
>> 
>> Regards,
>> Zabrane
>> 
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>> 
>> 
> 
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions

Regards,
Zabrane




More information about the erlang-questions mailing list