Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh mendapatkan output pemasang daripada kod C/C saya menggunakan GCC dan objdump?
Mendapatkan Output Assembler daripada C/C Source dalam GCC
Untuk menganalisis proses penyusunan, mengekstrak kod pemasangan yang dipancarkan adalah penting. Satu kaedah yang berkesan ialah menggunakan pilihan -S dalam GCC (atau G ).
Menggunakan Pilihan -S
Dengan menyatakan -S, prapemproses akan memproses fail sumber, lakukan kompilasi awal, tetapi hentikan sebelum menggunakan pemasang. Ini membolehkan anda memeriksa kod sebelum ia melalui pemasangan. Untuk kebolehbacaan yang lebih baik, gunakan -fverbose-asm.
gcc -S helloworld.c
Fail output akan dinamakan helloworld.s secara lalai. Untuk menukar ini, gunakan pilihan -o.
gcc -S -o my_asm_output.s helloworld.c
Menganalisis Fail Objek Sedia Ada
Jika anda hanya mempunyai fail objek, anda boleh menggunakan objdump dengan - -cabut (-d) pilihan.
objdump -S --disassemble helloworld > helloworld.dump
Untuk maklumat yang dipertingkatkan, pertimbangkan untuk menggunakan -rwC (untuk simbol penempatan semula dan demangling nama), -Mintel (untuk sintaks Intel dengan x86) dan -r (untuk menyertakan rujukan daripada objek yang tidak dipautkan).
objdump -drwC -Mintel -S foo.o | less
Kaedah ini memberikan cerapan berharga tentang proses penyusunan, membolehkan anda untuk analisis kod pemasangan program C/C anda.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan output pemasang daripada kod C/C saya menggunakan GCC dan objdump?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!