मैं विकास को लिनक्स में ले जा रहा हूं लेकिन मुझे नहीं पता कि मैं एमएसवीसी ++ से जी ++ या क्लैंग ++ के तहत/d1reportSingleClassLayout के समान आउटपुट कैसे प्राप्त कर सकता हूं। यदि इन कंपाइलर में ऐसी सुविधा नहीं है, तो क्या कोई बाहरी उपकरण है जो समान दृश्यता प्रदान करता है?एमएसवीसी ++ के विकल्प/d1reportSingleClassLayout के बराबर लिनक्स क्या है?
7
A
उत्तर
7
आप जानकारी (-g
विकल्प) डिबगिंग के साथ फ़ाइल को संकलित करने के तो struct लेआउट प्रदर्शित करने के लिए pahole
का उपयोग की जरूरत है। pahole
आमतौर पर dwarves
पैकेज (source; on GitHub; in Ubuntu) से उपलब्ध है।
$ g++ -ggdb -c -o myfile.o myfile.cpp
$ pahole -C MyClass myfile.o
class MyClass {
public:
int()(void) * * _vptr.MyClass; /* 0 4 */
int i; /* 4 4 */
const char * c; /* 8 4 */
void MyClass(class MyClass *, const class MyClass &);
void MyClass(class MyClass *);
virtual void ~MyClass(class MyClass *, int);
/* size: 12, cachelines: 1, members: 3 */
/* last cacheline: 12 bytes */
};
-C
विकल्प आपको चुनने के लिए कौन सी कक्षा/संरचना का चयन करने देता है।
यदि आपके पास pahole
तक पहुंच नहीं है तो आप readelf -wi myfile.o
या eu-readelf -winfo myfile.o
से बहुत कम पठनीय रूप में एक ही जानकारी प्राप्त कर सकते हैं। पेपर https://www.kernel.org/doc/ols/2007/ols2007v2-pages-35-44.pdfpahole
अन्य dwarves
उपकरण के साथ वर्णन करता है।
1
आप इसे with the Clang frontend भी कर सकते हैं।
0
कैसे -fdump-class-hierarchy
जी ++ द्वारा समर्थित है?
संबंधित मुद्दे
- 1. क्या एक विंडोज़/एमएसवीसी -प्रैथ लिंकर ध्वज के बराबर है?
- 2. लिनक्स पर _emit के बराबर क्या है?
- 3. विंडोज़ पर लिनक्स के लड के बराबर क्या है?
- 4. निर्भरता वॉकर लिनक्स के बराबर है?
- 5. एमएसवीसी के डीबग मोड
- 6. क्या लिनक्स/यूनिक्स "फोल्ड" कमांड के बराबर एक विम है?
- 7. विंडोज में लिनक्स mkdir -p के बराबर क्या है?
- 8. क्या ओएसएक्स पर डीबीस के बराबर है?
- 9. सी लिनक्स विंडोज़ के बराबर QueryPerformanceCounter
- 10. क्या विंडोज़ पर मेक के बराबर है?
- 11. लिनक्स में Win32 API के बराबर क्या होगा?
- 12. ओएसएक्स के बराबर बराबर?
- 13. एमएसवीसी
- 14. एमएसवीसी
- 15. क्या मुझे एमएसवीसी - पी
- 16. एमएसवीसी
- 17. एमएसवीसी ++
- 18. योजना के बराबर अनपॅकिंग के बराबर क्या है?
- 19. क्या जावास्क्रिप्ट के लागू() के बराबर बराबर है?
- 20. एमएसवीसी ++
- 21. एमएसवीसी
- 22. एमएसवीसी
- 23. क्या लिनक्स/यूनिक्स के तहत WinAPI के MAX_PATH के बराबर है?
- 24. लिनक्स के माइक्रोसॉफ्ट के महत्वपूर्ण वर्गों के बराबर जीसीसी क्या है?
- 25. एमएसवीसी
- 26. एमएसवीसी
- 27. PHP के preg_quote के बराबर क्या है?
- 28. CompletableFuture के flatMap के बराबर क्या है?
- 29. विंडोज कमांड लाइन लिनक्स में "समय" के बराबर है?
- 30. इस जीसीसी कोड के बराबर पाने के लिए एमएसवीसी इंट्रिनिक्स का उपयोग कैसे करें?
के बाद से यह वास्तव में अधिक एक सी ++ किसी और चीज से सवाल यह है कि तुम्हें पता है, ढेर अतिप्रवाह पर इस पूछ बेहतर होगा; इस तरह की विशेष कंपाइलर विशेषताएं ओएस के लिए बहुत प्रासंगिक नहीं हैं जो संकलक चल रहा है। – delicateLatticeworkFever
हाँ, संपादन को 5 मिनट के अंदर पकड़ा;) Thx। मैंने इसे भी ध्वजांकित किया है। – delicateLatticeworkFever
आपके त्वरित प्रतिक्रिया के लिए धन्यवाद! मैंने सोचा कि चूंकि मैं एक लिनक्स समाधान चाहता हूं, यह यहां उचित होगा। शोर के लिए खेद है। –