WinSock beszámolóm

 ( NevemTeve | 2017. május 19., péntek - 13:39 )

Mondjuk a ws2_32.dll nevű terméket szeretnénk használni, és ehhez az implib/impdef nevű komponenseket használnák. Három függvényre próbából rábökve ezt látom XP/32-n és Windows 7/64/SysWow64-en:

XP/32:

    WSAEnumNetworkEvents           @39  ; WSAEnumNetworkEvents
    WSAIoctl                       @60  ; WSAIoctl
    WSAAsyncSelect                 @101 ; WSAAsyncSelect

Windows7/64/SysWow64:

    WSAEnumNetworkEvents           @60  ; WSAEnumNetworkEvents
    WSAIoctl                       @74  ; WSAIoctl
    WSAAsyncSelect                 @101 ; WSAAsyncSelect

Most jön a találós kérdés: az XP-n elkészített program fog-e futni a hetesen? Ha mondjuk nem név, hanem szám szerint linkelődik? És WSAIoctl helyett esetleg a WSAEnumNetworkEvents-t hívja meg?

Szerk: Google segített: amikor a ws2_32.lib-et létrehozzuk a ws2_32.dll-ből, akkor kell megadni az implib-nek a -f opciót, ettől a .lib olyan tulajdonságú lesz, hogy a bcc55!ilink32 nem 'by ordinal' hanem 'by name' fog szerkeszteni belőle.

Kieg: A *.lib fájlon persze nem látszik, hogy jó-e, de a TDUMP.EXE segít:

c:\rossz\> TDUMP -li ws2_32.lib
Impdef: (Ord)          WS2_32.0022=shutdown
Impdef: (Ord)          WS2_32.0023=socket

c:\jo\> TDUMP -li ws2_32.lib
Impdef: (Name)         WS2_32.????=shutdown
Impdef: (Name)         WS2_32.????=socket

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ezert nem linkelunk szamra, de azert ez egy eleg kezenfekvo dolog nem? :)


// Happy debugging, suckers
#define true (rand() > 10)

Ön helyesen válaszolt, továbbjutott a következő kérdésre: Borland BCC55 esetén hogyan mondjuk ezt meg az ILINK32.EXE nevű programnak?

Szerk: google szerint így lehetne próbálkozni:

implib -f ws2_32.lib ws2_32.dll

Syntax: IMPLIB [options] libname[.lib] [@respfile | srcname] [srcname ...]
 Options:
    -a     Add '_' alias for MS flavor cdecl functions
    -c     Case sensitive symbols
    -f     Force imports by name (with hints)
    -w     No Warnings

Hol van hajbazer mikor szükség lenne a tudására!

FYI: file eseten is nevere hivatkozol, es nem mondjuk az inode-jara.

--
A strange game. The only winning move is not to play. How about a nice game of chess? - Wargames