Re: Proposed POW: Integrate Pspell


Subject: Re: Proposed POW: Integrate Pspell
From: Vlad Harchev (hvv@hippo.ru)
Date: Mon Sep 18 2000 - 12:50:20 CDT


On Mon, 18 Sep 2000, Kevin Atkinson wrote:

 Hi,

 I assume the main problem with Windows is virtual function's tables.
 Today I've composed a set of macros that can be used for declaring functions
 with behaviour similar to virtual functions (i.e, subclasses can override
 them, and all calls to that function in base classes call that overriden
 function, ect). It's ugly to use, but that ugliness is worth it if it really
 makes dlsym for C++ modules working.
 
 Here is it:
  http://www.hippo.ru/~hvv/projects/quasivirtual-1.0.tgz

 Note - I didn't test it on Windows, but IMO it should plain work there too
since it's just a set of headers (though grep and possibly sh is needed to
generate "stubs"). Kevin, please look first at the samples (sample.{h.cpp}) -
if that ugliness is acceptable for you to move pspell to, try it on windows.
 Feel free to comment and report any results.

> On Mon, 18 Sep 2000, Vlad Harchev wrote:
>
> > Is there particular need for providing pspell API only in C++? May be it
> > should also provide API in C - then there won't be problems with linking
> > anywhere.
>
> There are two different types of programs that need to link in with
> Pspell. Applications and Modules. For applications a provide an "extern
> C" interface which I strongly recommend programs use to avoid the
> linking issue. For modules on the other hand there is only a C++
> interface. This is because 1) There need to provide concrete implantations
> of abstract base classes and 2) because they need to use a large number
> of Pspell services that normal applications are not allowed to use. For
> more insight on this I suggest you look at the Pspell header files. I try
> to comment things fairly well. You might also want to look at the Ispell
> (though a pipe) and Aspell module to get an idea of how modules are
> implemented.
>
> This means that Pspell and its modules need to use compatibly compiles
> while AbiWord and Pspell don't necessarily.
>
> > As for problems with linking - Mozilla uses a lot of shared libraries that
> > export C++ API - so their experience with dynamic linking to C++ libs could be
> > used in AW.
>
> Perhaps. If you know of someone who is familiar with how Mozilla dynamic
> linking works it could be very helpful.

  These guys can be asked on their newsgroups IMO.
 
> ---
> Kevin Atkinson
> kevina at users sourceforge net
> http://metalab.unc.edu/kevina/
>

 Best regards,
  -Vlad



This archive was generated by hypermail 2b25 : Mon Sep 18 2000 - 13:01:22 CDT