I Greener généralement et compiler sous Linux avec le drapeau de la GCC et de l'autre; Mais j'ai été forcé de faire un travail à Visual C ++ et chaque fois que je compile mon code C, je reçois tous les avertissements Microsoft comme P>
'FSCANF': cette fonction ou une variable peut être dangereux. Pensez à utiliser FSCANF_S à la place. P> blockQuote>
Je reçois malgré ces mesures suivantes sur le site de MSDN Developer pour la mise en place d'un projet ANSI C, mais tous les appels _ ("sécurisés") ne sont pas ansi c! p>
Toute suggestion sur la mise en place de Visual C ++ Studio dans un mode Strict ANSI uniquement? P>
Merci. P>
3 Réponses :
Ces avertissements peuvent être supprimés en définissant Allez à Procec Paramètres -> Préprocesseur et Ajouter Cela ne forcent pas le compilateur à se conformer à l'ANSI. Il suffit de supprimer l'utilisation ..._ S AVERTISSEMENTS P> _crt_secure_no_warning code> p>
_Crt_secure_no_warning code> p>
Un moyen de supprimer des avertissements spécifiques consiste à ajouter quelque chose comme ce qui suit à la source.
#if defined( _WIN32 ) #pragma warning(disable:4996) #endif
Comme mentionné dans une autre réponse, Si vous cherchez vraiment un mode ANSI uniquement, la chose la plus proche est le Notez que pratiquement toutes les applications Windows Catégorie avec les extensions du compilateur de Microsoft activées; E.G., je ne pense pas que vous puissiez même consommer des en-têtes SDK Windows avec #define code> 'ing
_crt_secure_no_warning code> abordera les avertissements spécifiques que vous avez mentionnés dans votre question. P>
/ za code> commutateur compilateur
. Dans le Visual Studio IDE, vous pouvez le trouver dans la boîte de dialogue Propriétés du projet (sous Propriétés de configuration | C / C ++ | Langue | Désactiver les extensions de langue for forte>). P>
/ ZA CODE> SET. Si votre code est vraiment strict ANSI, vous devriez être correct. Si vous avez quelques pièces spécifiques à Windows dans un projet qui est principalement strict ANSI, vous pouvez probablement isoler ces sources et construire uniquement ces fichiers source indivudes avec
/ za code> non défini. P>
Vous êtes correct: