← Back to team overview

sslug-teknik team mailing list archive

Re: C++ systemprogrammering Linux/Ultrix

 

On Wed, 30 Jun 1999, Anders S. Johansen wrote:

> * Jeg har "UNIX network programming", men det er C-centrisk. Findes der
> a) en vejledning i at bruge de tilsvarende systemkald til sockets og IPC
> med C++ på nettet eller b) en bog i samme klasse rettet mod C++

Praecis ligesom i C. Der findes diverse freeware C++ biblioteker der laver
en wrapper omkring de kald, saa du fx. har et Socket objekt. Fx en der
hedder socket++. Der er ogsaa noget kaldt ACE som daekker en hel hel masse
forskellige ting.

Men der er altsaa ikke noget specielt standard C++ API til disse. Du kan
jo kalde alle C systemfunktioner i libc fra C++ uden problemer (jeg har en
C++ server -- ja... et MUD :) -- hvor vi har brugt hver eneste Unix
feature ting der findes, fra TCP sockets selvfoelgelig til UDP, Unix
Sockets til en SQL database, shared memory, threads, dynamisk loading,
flere processer forbundet via pipes, ELF sektioner, osv :)

> * Hvorledes ligger det med IPC i Linux hhv. Ultrix. Jeg får brug for 3-4
> samarbejdende processer på hver maskine, som skal udveksle en del
> information. Jeg ville foretrække shared memory segmenter til
> kommunikationen med semaforer til styring af adgang, da det burde være
> den hurtigste løsning. Spørgsmålet er bare om disse faciliteter er til
> stede, og i så fald om de er Sys-V, eller et mystisk maskin-specifikt
> hack.

Linux har alle de der SVR4 shared memory ting: shmget, semop, semctl etc.

Faa fat i Steven's Advanced Programming in the UNIX Environment hvis du
ikke har den allerede, det er en must for enhver UNIX-programmoer (dog ved
jeg ikke hvor meget den overlapper med Unix Network Programming, jeg har
ikke faaet laest den endnu, idet APUE ligesom daekkede det meste :)

Er det et bibliotek du vil udvikle fra bunden? Der er jo fx PVM der vist
laver noget lignende (jeg har aldrig brugt den -- endnu, vi faar snart en
bunke 400mhz Celeronner at lege med her, som vi vil saette op i en lille
Beowuful cluster :)

-- 
==============================================================================
Erwin Andreasen   Herlev, Denmark <erw@xxxxxx>          UNIX System Programmer
<URL:http://www.andreasen.org>              <*>         (not speaking for) DDE
==============================================================================






Follow ups

References