The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > High Level Programming
.
google unix.com



High Level Programming Posez vos questions à propos de C, C + +, Java, SQL, et d'autres langages de programmation ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
mémoire partagée, en lecture / écriture utilisant des fils kumars High Level Programming 2 06-18-2008 04:01 PM
HP-UX d'essayer de comprendre les segments de mémoire partagée scotbuff HP-UX 2 03-17-2008 05:05 PM
Mémoire partagée dans la bibliothèque partagée DreamWarrior High Level Programming 12 05-30-2007 05:33 PM
Segments de mémoire partagée catwomen HP-UX 2 02-28-2006 10:07 AM
Manque de mémoire partagée, mais beaucoup de mémoire inutilisée cjcamaro UNIX for Advanced & Expert Users 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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 11-20-2008
mae4 mae4 is offline
Registered User
  
 

Date d'inscription: novembre 2008
Messages: 1
Ecrire dans des segments de mémoire partagée

J'ai créé un segment de mémoire partagée (dont la taille est de 64 octets) à l'aide d'shmget, etc shmat et je tiens à le diviser en 2 zones. Une zone de données d'entrée et une zone de production? Comment puis-je faire?

En outre, quand je dois écrire mes données d'entrée dans le segment de mémoire partagée, je veux écrire quelque chose comme ceci:

messase un texte, un entier, un autre entier

Quelle fonction de c que je devrais utiliser? Si je devais écrire un message texte et le lire à partir d'un autre processus utilise i memcpy, mais maintenant, j'ai le texte messase et deux entiers (qui je utiliser comme des drapeaux dans mon code).
  #2 (permalink)  
Old 11-20-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Lieu: NM
Posts: 5789
Vous pouvez les memcpy - entiers sont stockés au format binaire, non pas comme textual chiffres.
Pour lire le retour, vous devez connaître le format exact de ce qui était écrit au départ.

Si vous n'aimez pas que l'utilisation sprintf () puis memcpy ();
  #3 (permalink)  
Old 11-20-2008
Corona688 Corona688 is online now
Registered User
  
 

Join Date: Aug 2005
Lieu: Saskatchewan
Messages: 1965
Citation:
Posté par mae4 View Post
J'ai créé un segment de mémoire partagée (dont la taille est de 64 octets) à l'aide d'shmget, etc shmat et je tiens à le diviser en 2 zones. Une zone de données d'entrée et une zone de production? Comment puis-je faire?
Je devine que le but est de faire que la moitié de la lecture seule. Si tel est le cas, vous devez juste faire deux segments, je ne pense pas que vous pouvez faire moitié d'un segment en lecture seule et certainement pas dans de minuscules morceaux de 32-byte. L'OS ne peut réellement protéger la carte mémoire et en morceaux de taille pagesize (), Qui est souvent 4 kilo-octets ou plus. Voir mmap () et mprotect () pour plus de détails sur ce qu'il fait.

Si ce n'est pas ce que vous voulez dire, je ne comprends pas votre question. Pourquoi ne pas simplement utiliser la partie supérieure et inférieure en est?
  #4 (permalink)  
Old 11-25-2008
techlinux techlinux is offline
Registered User
  
 

Date d'inscription: juillet 2008
Posts: 86
mmap PROT_READ PROT_WRITE et je pense que le travail serait sans doute de ce que vous voulez faire
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 08:05 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0