[rdnzl-devel] Re: "C++/CLR" (Was: New version 0.9.3)

Dan Muller s8ctxw402 at sneakemail.com
Sun Feb 19 01:24:21 UTC 2006


Let me try this again ... this stupid web-mail application ate the 
contents of my previous reply to this. :(

Edi Weitz edi-at-agharta.de |RDNZL-devel/via Sneakemail| wrote:
> On Sat, 18 Feb 2006 12:07:34 -0500, "Dan Muller" 
> <s8ctxw402 at sneakemail.com> wrote:
>
>> Hrrrm. Since you're using Managed C++, I'm not able to compile the
>> RDNZL DLL. The solution converts up to VS8 OK. But, as you probably
>> know, Managed C++ was replaced by C++/CLR. The conversion adds the
>> necessary compiler option to support the old syntax, but the
>> multi-threaded run-time library setting is incompatible with it
>> (Configuration Properties/C++/Code Generation/Runtime library). Oh
>> well. Just providing this as an FYI.
>
> Eeek!  Does this mean I can throw away RDNZL if I upgrade to the new
> Visual Studio?  Actually, I have the CDs/DVDs already lying around
> here but didn't find the time to install it yet.
>
> I'd be VERY happy if someone knowledgeable enough with Managed C++ and
> C++/CLR could enlighten me...

Good news, sort of. I found out that you can use the /MD 
(Multi-Threaded DLL) switch instead of /MT (Multi-Threaded). At least, 
it compiles. The downside is that the file MSVCR80.DLL must be 
available at run-time.

A correction on my terminology: It's C++/CLI, not C++/CLR.

I've looked fairly extensively at C++/CLI while studying the 
possibility of porting some C++ code at my day job. Syntactically, it's 
a vast improvement over Managed C++. If you ever decide you'd like to 
port RDNZL to it, let me know. Schedule permitting, I'd be glad to 
help, or even just do it for you -- it's not a very large project.

>> ;; This approach doesn't work
>> ;(import-types "ClassLibrary1")
>
>   (import-types "ClassLibrary1" "Class1")
>
> works for me if the DLL is in the LispWorks folder.
>

I haven't had time to figure this out yet. I did have the DLL there, 
otherwise it wouldn't have loaded the other way.

>>     (declare (special *coerce-double-floats-to-single*))
>
> That's not necessary.  The variable is globally special.

Thanks!

-- 
Dan

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.




More information about the rdnzl-devel mailing list