मैं एक ऐसा प्रोग्राम लिखने का प्रयास कर रहा हूं जिसमें बच्चे लिनक्स पर एक-दूसरे के साथ संवाद कर सकें।सी में साझा स्मृति में कोई int और सरणी कैसे रखता है?
ये प्रक्रियाएं एक ही प्रोग्राम से बनाई गई हैं और जैसे ही वे कोड साझा करते हैं।
मुझे उन्हें दो पूर्णांक चर के साथ-साथ एक पूर्णांक सरणी तक पहुंचने की आवश्यकता है।
मुझे नहीं पता कि स्मृति मेमोरी कैसे काम करती है और मैंने जो भी संसाधन खोजा है, उसने मुझे कुछ भी नहीं किया है।
किसी भी मदद की सराहना की जाएगी!
संपादित करें: यहां एक कोड का उदाहरण दिया गया है जिसे मैंने अभी तक एक int साझा करने के लिए लिखा है लेकिन यह शायद गलत है।
int segmentId;
int sharedInt;
const int shareSize = sizeof(int);
/* Allocate shared memory segment */
segmentId = shmget(IPC_PRIVATE, shareSize, S_IRUSR | S_IWUSR);
/* attach the shared memory segment */
sharedInt = (int) shmat(segmentId, NULL, 0);
/* Rest of code will go here */
/* detach shared memory segment */
shmdt(sharedInt);
/* remove shared memory segment */
shmctl(segmentId, IPC_RMID, NULL);
कौन सा ऑपरेटिंग सिस्टम: साझा स्मृति का उपयोग करने के संकेत दिए गए के उपयोग पर ध्यान दें - तो, आप इन पंक्तियों (अपने कोड उदाहरण से कंकाल के कुछ cribbing) के साथ अपने दो चर की ओर इशारा और सरणी बना सकते हैं? –
मेरी गलती। यह लिनक्स – Josh
पर है कल से इस प्रश्न को नोट करें: http://stackoverflow.com/questions/1664519/creating-accessing-shared-memory-in-c (वही सामान्य विषय, हालांकि आपने Sys V IPC चुना है)। –