On 8/21/07, trulyliu <[EMAIL PROTECTED]> wrote: > > > 2007/8/21, Damjan Jovanovic <[EMAIL PROTECTED]>: > > On 8/21/07, trulyliu <[EMAIL PROTECTED]> wrote: > > > Can I made Arithmetic.dll.so ? And link it against my linux App? > > > > A library function runs in the context of the process that invokes it. > > A library doesn't have its own TEB/memory layout/exception handling > > that works independently of the process that calls it, no matter how > > it is compiled. If the wine plugin API is ever made, it will modify > > the process so it has what the library expects when the library > > functions are called. > > > > Does your Arithmetic.dll.so call any Windows functions? If so, you > > need wine and you will always need wine, plugin API or no plugin API, > > whether you compile it into a DLL or .dll.so. But if you only use ANCI > > C stuff you can compile it into a .so and use it without wine. > > > > If you want something that runs seamlessly on every operating system > > today, IMHO you should consider Java. > > > > > > > Yes, Java may be a good choice for crossing platform. > > As you said, my Arithmetic.dll does not call any windows function. > It's pure ANSI C library. What's the step of make .dll.so ?? > > Use winegcc or gcc ??
Use gcc and make a .so like this: gcc -c arithmetic.c -fPIC gcc arithmetic.o -shared -o arithmetic.so Then put it in /usr/lib and link to it like so: gcc -c application.c gcc application.o -o application -larithmetic > > > -- > > > [EMAIL PROTECTED] > > Damjan > -- > [EMAIL PROTECTED] > Damjan