Longobard
			
				написал 24 сентября 2004 года в 23:39 (1157 просмотров)
			
			
			Ведет себя
			 как мужчина; открыл 291 тему в форуме, оставил 2499 комментариев на сайте.			
	
	Ситуация такая: есть пайп. В дочернем процессе создаем обьект класса xxx:
xxx * obj = new xxx;
есть пайп pipe.
Как мне передать этот обьект от дочернего процесса родительскому через пайп? Клинит меня че-та. Пробовал втупую — не работает. Пробовал преобразовывать обьект в void* и пересылать — тоже не работает.
Последние комментарии
-  
        
            OlegL, 17 декабря 2023 года в 15:00            →
        
        
            Перекличка
            21
        
  -  
        
            REDkiy, 8 июня 2023 года в 9:09            →
        
        
            Как «замокать» файл для юниттеста в Python?
            2
        
  -  
        
            fhunter, 29 ноября 2022 года в 2:09            →
        
        
            Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
            6
        
  -  
        
            Иванн, 9 апреля 2022 года в 8:31            →
        
        
            Ассоциация РАСПО провела первое учредительное собрание
            1
        
  -  
        
            Kiri11.ADV1, 7 марта 2021 года в 12:01            →
        
        
            Логи catalina.out в TomCat 9 в формате JSON
            1
        
  
DevOps as a Service from Palark
	24/7 SRE & DevOps service to cover all your Kubernetes needs.

Дык, имхо, никак. Напиши для класса функцию записи в пайпу и функцию чтения из пайпы (как если бы ты записывал в файл и читал из него). Пайпа-то не знает, что у тебя объект, а не просто последовательность байтов…
Good Luck,
UT
Кстати о птичках. Твой дочерний процесс создает объект и вешает на obj ссылку на область памяти с этим объектом. Но. В зависимости от того, как создан сам дочерний процесс, область памяти с объектом может быть и недоступна папаше (в случае форка это так, а в случае pthread’а — не так, но в случае pthread’а тебе и пайп не нужен). То бишь, передавай объект, а не ссылку на него.
Good luck,
UT
Поэлементно копируй поля в буфер, передавай буфер и парси его, что сложного-то? Ну или shared memory.