title | ms.custom | ms.date | ms.reviewer | ms.suite | ms.technology | ms.tgt_pltfrm | ms.topic | f1_keywords | dev_langs | helpviewer_keywords | ms.assetid | caps.latest.revision | author | ms.author | manager | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
process | Microsoft Docs |
11/04/2016 |
|
language-reference |
|
|
|
60eecc2f-4eef-4567-b9db-aaed34733023 |
16 |
mikeblome |
mblome |
ghogen |
Specifies that your managed application process should have a single copy of a particular global variable, static member variable, or static local variable shared across all application domains in the process. This is primarily intended to be used when compiling with /clr:pure, because under /clr:pure global and static variables are per application domain, by default. The /clr:pure and /clr:safe compiler options are deprecated in Visual Studio 2015. When compiling with /clr, global and static variables are per process by default (do not need to use __declspec(process)
.
Only a global variable, a static member variable, or a static local variable of native type can be marked with __declspec(process)
.
When compiling with /clr:pure, variables marked as per process must also be declared as const
. This ensures that per process variables are not changed in one application domain, and giving unexpected results in another application domain. The primary intended use of __declspec(process)
is to enable compile time initialization of a global variable, static member variable, or static local variable under /clr:pure.
process
is only valid when compiling with /clr or /clr:pure and is not valid when compiling with /clr:safe.
If you want each application domain to have its own copy of a global variable, use appdomain.
See Application Domains and Visual C++ for more information.