This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: DLL creating problem


Hallo RomikB,

Am Dienstag, 13. Mai 2003 um 21:39 schriebst du:

> Hello All,

> I have a problem when trying to create a DLL.

> For Ex:

> i have two source files: file_asm.asm , file_c.c

> ------file_asm.asm-------
> global _function_asm
> extern _printf
> section .text
> _function_asm:
>   push dword str
>   call _printf
>   add esp,0x04
>   mov ecx,0x1000
>   mov edi,bss_data
>   rep stosd
>   ret
> section .data
>   str db "String2print",0
> section .bss
>   bss_data resd 0x1000
> ------file_c.c------
> void function_c(void){
> }
> --------------------

> I need to create a DLL(no-cygwin)

> compile:
>   nasm -f format -o file_asm.o   {format = elf | win32 | coff }
>   gcc -c file_c.c -o file_c.o

[...]

>   please, give me a hint. How can i create a DLL.

gcc -shared -o cyg_your_dll.dll \
    -Wl,--out-implib=lib_your_.dll.a \
    -Wl,--export-all-symbols \
    -Wl,--enable-auto-import \
    -Wl,--whole-archive \
    file_asm.o file_c.o \
    -Wl,--no-whole-archive ${dependency_libs}


You'll also need to figure what switches to add to get a DLL that
doesn't depend on cygwin1.dll.


Gerrit
-- 
=^..^=


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]