2015-11-20 4 views
-1

Prenez par exemple, dans l'invite de commandes que nous donnons comme,Où compilateur CSC Générer un fichier PE?

>csc /out:"C:\HelloWorld.exe" "C:\HelloWorld.cs" 

Que le SCC compilateur va générer un fichier PE. Où ce fichier va enregistrer?

+1

Vous avez dit où vous voulez le fichier PE: dans 'C: \ Helloworld.exe'. Le compilateur C# ne génère pas de fichier IL; c'est ILDASM qui génère des fichiers IL. Je ne peux pas comprendre ce que vous demandez ici; vous semblez avoir de fausses croyances sur les fichiers générés par le compilateur C#. –

+0

Downvoters. puis-je connaître la raison de la réduction? – Karthikeyan

+0

Eric Lippert: Je veux savoir où le fichier PE va enregistrer lors de la construction du fichier .cs. – Karthikeyan

Répondre

2

EXE dans PE executable format sera où vous spécifiez avec out paramètre ou dans le dossier actuel si vous ne le spécifiez pas.

Vous ne savez pas de quel fichier "IL" vous parlez, mais IL (ou plutôt code octet) + métadonnées font partie du fichier EXE.

Si vous avez besoin de détails sur le format PE lui-même - spécification peut être trouvé sur MSDN: PE Format.

Si vous recherchez IL, vous pouvez utiliser ILDASM (partie de .Net SDK) ou de nombreux autres décompilateurs .Net pour voir IL. Si vous voulez expérimenter rapidement et voir IL - LinqPad.net est un outil très pratique pour cela.

+0

Puis-je connaître la commande pour générer le fichier pe. parce qu'il n'y a pas de fichier pe générant tout en donnant la commande ci-dessus – Karthikeyan

+1

@Karthikeyan: Les fichiers .exe est un fichier PE. PE signifie "exécutable portable". Un EXE est un exécutable. –

+0

Ainsi, lors de la compilation du fichier .pe ne générera pas seulement .exe va générer. droite ? – Karthikeyan