Je déclare une structure et un membre de la structure est un pointeur qui stocke l'adresse du tampon IPC. Le ipc_buffer est le local à une méthode et quand je passe l'adresse du même tampon à une autre fonction et l'envoi sur IPCWrite() observant la corruption de données dans le côté IPC_recevie? Quelqu'un pourrait-il avoir un pointeur ici pourquoi les données ont été corrompues?Stocker l'adresse d'un tampon ipc local dans le membre de structure ci-dessous et passer dans ipcwrite provoquer la corruption des données
typedef struct ev_entry_s
{
event_t ev_id;
uint8_t *ipc_local_async_buff;
uint32_t ev_data_size;
uint8_t ev_data[0];
}ev_entry_t;
fun_1()
{
uint8_t ipc_buffer[IPC_MAX_SEND_LEN];
fun_2(&ipc_buffer); /*sending as a parameter */
}
fun_2(uin8_t *catch_pointer)
{
ev_entry_t event_p;
//Storing ipc_buffer addres in ipc_local_async_buff
event_p.ipc_local_async_buff = catch_pointer;
fun_3(&event_p);
}
fun_3(ev_entry *event_p)
{
/*sending the address of ipc_buffer over IPCWrite*/
}
Merci beaucoup, je suis en train d'essayer la même chose. –