Mengakses Output Assembler daripada C/C Source dalam GCC
Untuk menganalisis proses penyusunan, selalunya berguna untuk mengekstrak kod pemasangan yang dipancarkan . Ini boleh dicapai dalam dua cara menggunakan GCC:
Menggunakan Pilihan -S:
Dengan menambahkan pilihan -S pada arahan gcc, prapemproses akan digunakan , dan kompilasi awal akan berlaku. Walau bagaimanapun, proses itu akan dihentikan sebelum peringkat perhimpunan. Output kompilasi separa ini, biasanya dinamakan file_name.s, mengandungi kod pemasangan yang sepadan dengan sumber C/C asal.
Menggunakan objdump:
Jika hanya objek fail tersedia, utiliti objdump boleh digunakan untuk mengekstrak kod pemasangan. Dengan menambah pilihan --disassemble (-d), objdump akan menjana pembongkaran fail objek. Jika kompilasi dilakukan dengan maklumat nyahpepijat (menggunakan -g), baris sumber akan disilang dengan pembongkaran untuk kebolehbacaan yang lebih baik.
Contoh:
gcc -S source_file.c objdump -S --disassemble object_file.o > assembly_output.txt
Pilihan -S dengan gcc akan menjana fail pemasangan bernama source_file.s. Perintah objdump akan mencipta fail teks bernama assembly_output.txt yang mengandungi pembongkaran fail objek, dengan baris sumber disertakan jika tersedia.
Pilihan objdump tambahan untuk menyesuaikan output termasuk:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Kod Perhimpunan yang Dijana daripada Sumber C/C Menggunakan GCC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!