Bonjour,
Je développe un soft multithread en C.
Dans ce prgm, une structure peut être utilisée par plusieurs thread à la fois. Je n'arrive pas à me rappeler si lorsqu'on passe une structure en paramètre d'une fonction, elle est passée par valeur ou par référence.
Ma structure est assez spéciale, du genre :
Si j'utilise cette structure gS1 dans la fonction1, est ce que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 typedef struct { int Var1; char Tab1[20]; unsigned char pData*; } MA_STRUCTURE; MA_STRUCTURE gS1; int fonction1(MA_STRUCTURE s) { .... }
- s est une nouvelle variable locale ?
- s.pData à la même adresse que gS1.pData ?
- s.Tab1 à la même adresse que gS1.Tab1 ?
Pour résumer, j'aimerais être sûr qu'il n'y aura pas de conflit d'accès entre les différents threads sur la même variable.
Merci d'avance pour vos réponses.






Répondre avec citation









Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.


Partager