[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How about using static link instead of dynamic loaded dlls?

From: Jason Rumney
Subject: Re: How about using static link instead of dynamic loaded dlls?
Date: Thu, 05 Jun 2003 13:06:02 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3b) Gecko/20030210

Robin Hu wrote:
"Jason" == Jason Rumney <address@hidden> writes:

    Jason> If you explain what problems you are having, we may be able
    Jason> to fix them.  Linking the image libraries statically might
    Jason> work well for people like yourself who compile Emacs
    Jason> yourself, but in the Windows world you are the minority I am
    Jason> afraid, so linking dynamically is more flexible for binary
    Jason> distribution.

    Well. The problems I have are really problems of lacking of
    version control for dll files.

There is version control for DLL's, we just need to know which
versions don't work so we can avoid using them. We can also perform
tests on the presence of functions in the DLLs if the version
information is insufficient.

    2/ Dlls compiled by gcc may not cooperate well with programs
    compiled by msvc. When I used libjpeg from
    sf.net/projects/gnuwin32, Emacs compiled by msvc failed to open
    jpeg files.

This may be a struct alignment issue, as I think it only occurs with
certain optimization settings of MSVC. Hopefully the library
developers provided a way for us to detect this.

    While compiling with msvc with optimization turned on, Emacs will
    emit an access vilation exception while load a tiff file or a png
    file. I believe the problem is something related to lookup_image(),
but debug an optimized program is really hard. ;-(

Why is it hard? You should be able to get at least some idea of where it
is going wrong my single stepping through lookup_image. Maybe some of
the underlying machine instructions are not what you would expect from
looking at the current line, but that should not stop you from getting a
general idea of what is happening.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]