← Back to team overview

sslug-teknik team mailing list archive

Re: C++ systemprogrammering Linux/Ultrix

 

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

> * Systemet skal gerne kunne køre på Alpha maskiner med Ultrix (?), men
> jeg vil helst udvikle hjemme på min Linux-box

Endian er formentlig det vigtigeste, se nedenfor om pthreads.
> 
> * Performance er *vigtigt* her. Jeg kan altså ikke bruge STL-containere,
> men vil hellere udvikle mine egne specialdesignede.

Hmmm. Så vidt jeg ved, er STL som regel -meget- hurtige. Det er kun på
oversætter tidspunktet det er tungt.

> 
> * Jeg *kan* evt. revertere til C, men vil foretrække C++
> 
> * Jeg kender på forhånd til C og sockets.
> 
> Videre til spørgsmålene:
> 
> * 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++
> 

Det er jo bare at bruge dem, hvis du forstår hvad jeg mener. Hvis du
f.eks. har en socket, er det jo en "write" operation du bruger, ca. et
eller andet som 

write(socket_fd, size, ...);

Det kan du jo nemt lave som 
class Socket {
	in my_fd;
  public: 
  void Put() {
    write(my_fd, size, ...);
  }
}

Whatever. Ellers findes der c++ wrappere rundt omkring.

> * 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.

Det du vil er vel da tråde... check man pthread_create under Linux for en
oversigt.

Der er -enkelte- problemer med pthreads under Linux, blandt andet i
forhold til signalering. Check FAQ om pthreads.

Det virker rimeligt godt, og pthreads burde være under Ultirx (posix)
også.

Mads

-- 
Mads Bondo Dydensborg.                               madsdyd@xxxxxxxxxxxx
Free your mind and your desktop will follow....
                                     Linux - the choice of a GNU generation



Follow ups

References