Bagaimana untuk Mencetak Elemen Vektor dalam C Menggunakan GDB?

Linda Hamilton
Lepaskan: 2024-10-27 18:59:30
asal
951 orang telah melayarinya

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()
Salin selepas log masuk

Untuk mencetak hanya elemen N pertama, ubah suainya kepada:

print *(myVector._M_impl._M_start)@N
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!