Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencetak Elemen Vektor dalam C Menggunakan GDB?

Bagaimana untuk Mencetak Elemen Vektor dalam C Menggunakan GDB?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 18:59:30952semak imbas

How to Print Vector Elements in C   Using GDB?

Mencetak Elemen Vektor dalam C melalui GDB

Apabila menyahpepijat kod C dalam GDB, memeriksa kandungan std::vector boleh mencabar . Sebagai contoh, pertimbangkan std::vector bernama myVector. Bagaimanakah cara kita mencetak elemennya dengan berkesan?

Dalam GCC 4.1.2, penyelesaiannya melibatkan mengakses penuding dalaman vektor, myVector._M_impl._M_start, yang menghala ke tatasusunan yang memegang elemen vektor.

Untuk mencetak keseluruhan vektor, gunakan:

print *(myVector._M_impl._M_start)@myVector.size()

Untuk mencetak hanya elemen N pertama, ubah suainya kepada:

print *(myVector._M_impl._M_start)@N

Penaakulan

Pendekatan ini memanfaatkan arahan GDB untuk mencetak N elemen tatasusunan bermula pada penunjuk tertentu. Dalam kes ini, penunjuk ialah myVector._M_impl._M_start, dan kami menentukan bilangan elemen untuk dicetak menggunakan myVector.size() atau kiraan yang dikehendaki N.

Walaupun pendekatan ini boleh digunakan untuk GCC 4.1.2 , ia mungkin berbeza bergantung pada versi pengkompil anda. Jadi, untuk versi lain, merujuk dokumentasi yang berkaitan adalah disyorkan.

Atas ialah kandungan terperinci Bagaimana untuk Mencetak Elemen Vektor dalam C Menggunakan GDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn