| I actually use those members in a some Csound class methods,
but they do need to be seen outside the class. They should
not be removed, unless their functionality is replaced.
Victor
>
> Yes, it is absolutely required on Windows to declare any
> symbol exported from a DLL as __declspec(DllExport).
>
> However, that symbol can be a function, or it can be data,
> or it can be a class method, or it can even be an entire
> class in one go, in which case the methods and public
> member variables of that class also are exported.
>
> We know that the functions actually _are_ exported,
> because the Python interface on Windows, which works,
> calls them (i.e. _csnd.dll calls the Csound shared library
> itself) and because the Lisp cffi interface calls them as
> well.
>
> As for csound.hpp, it was cleverly written by Istvan Varga
> with entirely inline method definitions. Therefore, it is
> not necessary to export the Csound class. When an
> application using the csound.hpp is compiled, the compiler
> for the client application expands the non-exported method
> calls because they are declared inline, i.e. within the
> body of the class declaration in csound.hpp, and replaces
> them with the method bodies, which are just calls to the
> Csound "C" API, which of course is exported. This is true
> of the constructor as well.
>
> The pvsindata and pvsoutdata members that you have added
> to csound.hpp will not be visible within the Csound
> library, or the Csound engine, but only to clients of the
> API. Perhaps you should add them to the CSOUND structure.
> On the other hand, you don't seem to use these members, so
> perhaps they can be removed.
>
> I continue to say: we should change the CSOUND structure
> into a proper C++ class (as Istvan is doing in his
> version) and then csound.hpp will not be necessary. It
> would also simplify the future development and maintenance
> of Csound and should have no adverse consequences for
> performance.
>
> Hope this helps,
> Mike
>
> -----Original Message-----
> >From: Victor Lazzarini
> >Sent: Aug 24, 2006 12:30 PM
> >To: andres@geminiflux.com, Developer discussions
> >Subject: [Cs-dev]
> windows DLL link question >
> >A question probably for Michael...
> >
> >In C++ is it necessary to use PUBLIC (dllexport) to make
> DLL >functions available to the outside or all public
> methods of a class >are exported by default?
> >
> >I ask the question because all C API functions in
> csound.h have PUBLIC >before them, but none of the Csound
> class methods in csound.hpp >have it.
> >
> >I have never tried to use the Csound DLL from C++ on
> Windows, I >am wondering whether it actually works.
> >
> >
> >
> >Victor Lazzarini
> >Music Technology Laboratory
> >Music Department
> >National University of Ireland, Maynooth
> >
> >
> >---------------------------------------------------------
> ---------------- >Using Tomcat but need to do more? Need
> to support web services, security? >Get stuff done quickly
> with pre-integrated technology to make your job easier
> >Download IBM WebSphere Application Server v.1.0.1 based
> on Apache Geronimo
> >http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=26
> 3057&dat=121642
> >_______________________________________________
> >Csound-devel mailing list
> >Csound-devel@lists.sourceforge.net
> >https://lists.sourceforge.net/lists/listinfo/csound-devel
>
>
>
>
> ----------------------------------------------------------
> --------------- Using Tomcat but need to do more? Need to
> support web services, security? Get stuff done quickly
> with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on
> Apache Geronimo
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net |