मैं देख रहा हूं कि माइक्रोसॉफ्ट विजुअल स्टूडियो 2003 टूल्स द्वारा ऑब्जेक्ट फाइल आउटपुट से मुझे अजीब व्यवहार क्या लगता है। file
उपयोगिता मुझसे कहता है:माइक्रोसॉफ्ट विजुअल स्टूडियो 2003 कंपाइलर आउटपुट को हटाएं
asmfile.obj: 80386 COFF executable not stripped - version 30821
कोडांतरक द्वारा बनाई गई वस्तुओं के लिए, लेकिन सी फ़ाइलों से आ रही वस्तुओं के लिए, मैं सिर्फ मिलती है:
cfile.obj: data
माइक्रोसॉफ्ट के dumpbin
उपयोगिता और objdump
मैं cygwin से मिल गया का उपयोग करना , मैं असेंबली-निर्मित फ़ाइल को अलग कर सकता हूं, लेकिन मुझे सी-निर्मित फ़ाइलों के लिए उपयोगिता से कोई उपयोगी परिणाम नहीं मिलते हैं।
मैं इस अंतर से संबंधित सवालों की एक जोड़ी है:
- क्या वस्तु फ़ाइल स्वरूप MSVC2003 संकलक द्वारा उत्पन्न होता है?
- मैं उस ऑब्जेक्ट फ़ाइल को कैसे हटा सकता हूं?
मैं विशेष रूप से एटी & टी वाक्य रचना में disassembly प्राप्त करने में दिलचस्पी है - मैं इसे जीसीसी के साथ काम करने के लिए एक बड़ा स्रोत आधार के एक बंदरगाह कर रहा हूँ, और मैं के लिए एक शॉर्टकट के रूप में इस विधि का उपयोग करना चाहते हैं परियोजना में कुछ इनलाइन असेंबली दिनचर्या।
संपादित करें: कुछ और जानकारी जोड़ना।
C:\> dumpbin /disasm Func.obj
Microsoft (R) COFF/PE Dumper Version 7.10.6030
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file Func.obj
FileType: ANONYMOUS OBJECT
objdump
के साथ, यह देता है::
$ objdump -d Func.obj
objdump: Func.obj: File truncated
विधानसभा से बनाया फ़ाइलों पर, मैं उचित परिणाम प्राप्त
जब मैं इन फ़ाइलों में से एक पर dumpbin
चलाने मुझे कोई परिणाम देता है।
फिर से संपादित करें: कमांड लाइन जानकारी जोड़ना।
विधानसभा फ़ाइलें एक कमांड लाइन से मिलता-जुलता साथ निर्माण कर रहे हैं निम्नलिखित:
ml -nologo -W3 -WX -c -coff -FoAssemblyFile.obj -Zi -Cx AssemblyFile.asm
ml
जब अपने आप में मार डाला कहते हैं:
Microsoft (R) Macro Assembler Version 6.15.8803
Copyright (C) Microsoft Corp 1981-2000. All rights reserved.
सी फ़ाइलें निम्न आदेश के साथ निर्माण कर रहे हैं:
cl -nologo -W4 -WX -Gs32768 -GX -Gy -c -FdCFile.pdb -FoCFile.obj -Zi
-Gm -O1 -Oy- -Gy -GL -X CFile.c
कुछहैंऔर -D
विकल्प ml
और cl
पर पास हुए, लेकिन मैंने उन्हें यहां अल्पसंख्यक के लिए छोड़ दिया है। cl
विकल्पों का वर्णन here है।
@ माइकल: आप सही हैं - हालांकि वास्तविक कोड उत्पन्न हो सकता है, डंपबिन जैसे टूल महत्वपूर्ण रूप से परिवर्तित नहीं हुए हैं (पुराने संस्करणों ने सभी नवीनतम निर्देश सेटों को संभाल नहीं लिया है, लेकिन यह इसके बारे में है)। –
मैं कुछ और विवरण जोड़ने के लिए संपादित करूंगा। सी स्रोत * कुछ भी * हो सकता है जहां तक मैं कह सकता हूं - इस पूरे प्रोजेक्ट में प्रत्येक ऑब्जेक्ट आउटपुट का एक ही व्यवहार है। –
'फ़ाइल' आपको उस ऑब्जेक्ट फ़ाइल के प्रकार के बारे में बताता है क्या है? –