Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
'symbool': dynamische initialisatie van threadprivate-symbolen wordt momenteel niet ondersteund
Opmerkingen
De geïnitialiseerde waarde van een symbool dat in een threadprivate-component wordt gebruikt, moet tijdens het compileren bekend zijn.
Voorbeelden
In het volgende voorbeeld wordt C3057 gegenereerd:
// C3057.cpp
// compile with: /openmp /c
extern int f();
int x, y = f();
int a, b;
#pragma omp threadprivate(x, y) // C3057
#pragma omp threadprivate(a, b)
int main() {
// Delete the following 4 lines to resolve.
#pragma omp parallel copyin(x, y)
{
x = y;
}
#pragma omp parallel copyin(a, b)
{
a = b;
}
}
In het volgende voorbeeld wordt C3057 gegenereerd:
// C3057b.cpp
// compile with: /openmp /c
extern int Initialize();
int main() {
#pragma omp parallel
{
static int var = Initialize();
#pragma omp threadprivate(var) // C3057
}
// OK
#pragma omp parallel
{
static int var2;
static bool initialized2;
#pragma omp threadprivate(var2, initialized2)
if (!initialized2) {
var2 = Initialize();
initialized2 = true;
}
}
}