2010-11-04 7 views
6

Je lis sal.h, qui est dans VS2010, aujourd'hui.
J'étais un peu surpris.Devrions-nous utiliser _In_ au lieu de __in?

// This section contains the deprecated annotations 
|------------|------------|---------|--------|----------|----------|---------------| 
| Level | Usage | Size | Output | NullTerm | Optional | Parameters | 
|------------|------------|---------|--------|----------|----------|---------------| 
| <>   | <>   | <>  | <>  | _z  | <>  | <>   | 
| _deref  | _in  | _ecount | _full | _nz  | _opt  | (size)  | 
| _deref_opt | _out  | _bcount | _part |   |   | (size,length) | 
|   | _inout  |   |  |   |   |    | 
|   |   |   |  |   |   |    | 
|------------|------------|---------|--------|----------|----------|---------------| 

J'ai toujours utilisé ces annotations.
Je ne peux pas croire qu'ils sont obsolètes. Est-ce vrai?
Si oui, pourquoi?
Devrions-nous utiliser les annotations suivantes à partir de maintenant? -c'est pas familier pour moi :(

|--------------|----------|----------------|-----------------------------| 
| Usage  | Nullness | ZeroTerminated | Extent      | 
|--------------|----------|----------------|-----------------------------| 
| _In_   | <>  | <>    | <>       | 
| _Out_  | opt_  | z_    | [byte]cap_[c_|x_](size) | 
| _Inout_  |   |    | [byte]count_[c_|x_](size) | 
| _Deref_out_ |   |    | ptrdiff_cap_(ptr)   | 
|--------------|   |    | ptrdiff_count_(ptr)  | 
| _Ret_  |   |    |        | 
| _Deref_ret_ |   |    |        | 
|--------------|   |    |        | 
| _Pre_  |   |    |        | 
| _Post_  |   |    |        | 
| _Deref_pre_ |   |    |        | 
| _Deref_post_ |   |    |        | 
|--------------|----------|----------------|-----------------------------| 

Par ailleurs, l'étiquette SAL n'existe pas dans SO.
S'il vous plaît le faire, si vous pouviez.

+0

Eh cela ressemble à SQL ... quelle langue parlez-vous à Windows, Visual studio, et? Microsoft ne sont pas des langues, je suppose que MS SQL, bu t '.h' indique C ou C++. – mpen

+2

SAL n'est pas une langue. C'est une annotation pour c/C++. – Benjamin

+4

Mark: SAL est le langage d'annotation de code source (http://msdn.microsoft.com/en-us/library/ms235402(VS.100).aspx) qui est utilisé pour annoter les paramètres dans les fonctions C/C++ afin que le compilateur et d'autres outils peuvent donner de meilleurs avertissements. – Gabe

Répondre