Il n'est pas clair pour moi comment le compilateur saura automatiquement compiler pour 64 bits quand il en aura besoin. Comment sait-il quand il peut cibler en toute confiance 32 bits?
Je suis principalement curieux de savoir comment le compilateur sait quelle architecture cibler lors de la compilation. Analyse-t-il le code et prend-il une décision en fonction de ce qu'il trouve?
Réponses:
Microsoft a une entrée de blog ce que AnyCPU signifie vraiment comme .NET 4.5 et Visual Studio 11 :
la source
Voici une réponse simple:
Remarque: AnyCPU-32bitPreferred n'est disponible que dans .Net version 4.5 et supérieure.
la source
Project -> Properties -> Build tab -> Platform target
... mais notez qu'ilAnyCPU-32bitPreferred
est uniquement disponible dans .Net version 4.5 et supérieure. C'est pourquoi la valeur par défaut estAnyCPU
.La raison en est: au cas où vous ne voudriez pas utiliser plus de mémoire avec des applications 64 bits. Ce qui signifie, si votre application est AnyCPU , vous souhaitez l'exécuter en 32 bits.
Pour en ajouter plus, le paramètre dans Visual Studio cible le CLR particulier:
Veuillez vous référer à l'article Applications 64 bits ( MSDN ).
la source