[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [PROGRAMMERING] cross-platform udvikling (windows linux)



On Mon, 27 Sep 2004 10:30:27 +0200, Kim Schulz wrote:

> Jeg skal i gang med et c++ projekt som skal kunne bruges på både windows
> og linux
[...]
> tråde
> sockets
[...]

Når jeg har kigget mig om efter den slags, er jeg altid stille og rolig
blevet ledt hen på ACE:
http://www.cs.wustl.edu/~schmidt/ACE-overview.html
ACE er imidlertid et meget omfattende rammeværk, og jeg er derfor aldrig
kommet igang med at bruge det (bortset fra engang, hvor jeg aldrig kom
længere end til at sidde og fedte med at prøve at få det til at
kompilere på min daværende Linux-installation).

Til tråde på Linux og Windows har jeg engang benyttet mig af Boost's
tråd-bibliotek:
http://boost.org/libs/thread/doc/
Det fungerede OK, bortset fra, at man under byggeriet af Boost.Threads kan
være ude for, at Boost's yderst særprægede build-system fejldetekterede
eksistensen af threading; dette oplevede jeg både på Linux og Windows,
men det var ret let at rette i en header-fil (tvinge Boost til at
acceptere, at operativsystem+compiler understøtter tråde).
Boost-projektets kode-konventioner kan jeg generelt ret godt lide: De
forsøger så vidt muligt at opfordre til benyttelse af STL-agtige
programmeringskonventioner og -tankegange, og er ikke bange for at benytte
C++ templates.
Mht. sockets: I Boost-verdenen arbejdes på tilføjelse af
socket-features, men det er endnu aldrig realiseret. Et relevant link i
denne sammenhæng:
http://giallo.sourceforge.net/

Selvom at wxWidgets's fornemste opgave er at lette x-platform
GUI-programmering, har det vist også nogle GUI-uafhænigige faciliteter
til tråd- og socket-understøttelse på tværs af platforme:
http://wxwidgets.org/

Ud over i øvrigt at kigge på APR, som Makholm, har nævnt (men som måske
ikke er så C++-venligt?), vil jeg foreslå dig at kigge i koden til den
endnu ufærdige generation 3 af Squid. Squid-folkene er i den generation
gået over til C++, og eftersom at Squid benytter både sockets ret
intensivt, kunne jeg forestille mig, at deres kode kunne være
inspirerende:
http://www.squid-cache.org/cgi-bin/cvsweb.cgi/squid3/
Det skal dog siges, at Squid ikke benytter tråde.

-- 
Greetings from Troels Arvin, Copenhagen, Denmark



 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 22:44 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *