Передача объекта в родительский процесс - C ++ - PullRequest
3 голосов
/ 19 апреля 2019

Мне нужно передать объект от дочернего процесса его родителю, но не могу, если данный объект состоит из шаблонных объектов.

Я успешно передал простой класс родительскому процессу, вызвав функцию C write (), передающую адрес моего объекта через сокет родительскому процессу, , но , когда мой объект * состоит из шаблонного объекта. (std :: vector, std :: pair ...) Valgrind выдает предупреждения о неинициализированных байтах и родительский процесс получил поврежденный объект.

Выход Valgrind:

==18624== Syscall param write(buf) points to uninitialised byte(s)
==18624==    at 0x4E4B29D: ??? (syscall-template.S:84)

EDIT : Как предложил @Sandro, я решил сериализовать свои сложные данные (std :: vector), используя объекты POD, но без какой-либо библиотеки.

...