The UNIX and Linux Forums  


Go Back   UNIX e Linux Forum > Inizio Forum > Di programmazione ad alto livello
.
google unix.com



Di programmazione ad alto livello Pubblica domande su C, C + +, Java, SQL, e di altri linguaggi di programmazione qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
la memoria condivisa di lettura / scrittura utilizzando fili kumars Di programmazione ad alto livello 2 06-18-2008 04:01 PM
HP-UX cercando di capire segmenti di memoria condivisa scotbuff HP-UX 2 03-17-2008 05:05 PM
Memoria condivisa in libreria condivisa DreamWarrior Di programmazione ad alto livello 12 05-30-2007 05:33 PM
Segmenti di memoria condivisa catwomen HP-UX 2 02-28-2006 10:07 AM
Carenza di memoria condivisa, ma un sacco di memoria non utilizzati cjcamaro UNIX e avanzata per utenti esperti 1 10-13-2004 06:10 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 11-20-2008
mae4 mae4 is offline
Utente Registrato
  
 

Iscriviti Data: novembre 2008
Interventi: 1
Scrivere in segmenti di memoria condivisa

Ho creato un segmento di memoria condivisa (che la dimensione è di 64 byte) utilizzando shmget, ecc shmat e voglio dividerlo in 2 settori. Uno spazio per i dati di input e uno spazio per la produzione? Come posso fare questo?

Inoltre, quando devo scrivere i miei dati in ingresso nel segmento di memoria condivisa Voglio scrivere qualcosa di simile a questo:

messase un testo, un numero intero, un altro numero intero

Quale funzione di c devo usare? Se dovessi scrivere solo un messaggio di testo e leggere da un altro processo che utilizza i memcpy, ma ora ho il testo messase e due interi (che utilizza i flag come nel mio codice).
  #2 (permalink)  
Old 11-20-2008
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Iscriviti Data: febbraio 2004
Ubicazione: MN
Messaggi: 5.800
Puoi memcpy loro - interi vengono memorizzati in formato binario, e non come testo cifre.
Per leggere di nuovo fuori, devi sapere il formato esatto di ciò che è stato scritto per iniziare.

Se non ti piace che utilizzano sprintf () poi memcpy ();
  #3 (permalink)  
Old 11-20-2008
Corona688 Corona688 is offline
Utente Registrato
  
 

Join Date: Aug 2005
Località: Saskatchewan
Interventi: 1.969
Citazione:
Originalmente inviato da mae4 View Post
Ho creato un segmento di memoria condivisa (che la dimensione è di 64 byte) utilizzando shmget, ecc shmat e voglio dividerlo in 2 settori. Uno spazio per i dati di input e uno spazio per la produzione? Come posso fare questo?
Sto indovinando la finalità di tale mezzo è di fare di essa di sola lettura. Se è così, si deve solo fare due segmenti, non credo che si può fare mezzo di un segmento in sola lettura e non certo in minuscoli pezzetti di 32-byte. Il sistema operativo non può che effettivamente la mappa e proteggere la memoria in blocchi di dimensioni pageSize (), Che è spesso 4 kilobyte o più. Vedere mmap () e mprotect () per dettagli su cosa è fare.

Se questo non è ciò che si intende quindi non capisco la tua domanda. Perché non basta usare la metà superiore e inferiore, come è?
  #4 (permalink)  
Old 11-25-2008
techlinux techlinux is offline
Utente Registrato
  
 

Iscriviti Data: luglio 2008
Interventi: 86
mmap PROT_READ e PROT_WRITE credo sarebbe probabilmente lavorare per quello che vuoi fare
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 04:47 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0