Rumah > pembangunan bahagian belakang > C++ > _DEBUG lwn. NDEBUG: Prapemproses Mana Yang Perlu Saya Gunakan untuk Penyahpepijatan?

_DEBUG lwn. NDEBUG: Prapemproses Mana Yang Perlu Saya Gunakan untuk Penyahpepijatan?

Susan Sarandon
Lepaskan: 2024-12-06 05:55:13
asal
308 orang telah melayarinya

_DEBUG vs. NDEBUG: Which Preprocessor Define Should I Use for Debugging?

Nyahpepijat dengan _DEBUG dan NDEBUG

Apabila menulis kod yang memerlukan nyahpepijat, seseorang mesti mempertimbangkan preprocessor yang sesuai untuk digunakan. Lazimnya, pembangun mempunyai dilema antara menggunakan #ifdef _DEBUG, #ifndef NDEBUG atau mentakrifkan makro tersuai seperti #define MY_DEBUG.

_DEBUG vs NDEBUG: Perbandingan

_DEBUG dan NDEBUG mempunyai tujuan yang berbeza: _DEBUG, khusus untuk Visual Studio, diaktifkan dengan pilihan pengkompil /MTd atau /MDd. Sebaliknya, NDEBUG melumpuhkan penegasan yang ditakrifkan oleh standard C. Adalah penting untuk menggunakan takrifan ini dengan sewajarnya. Sebagai contoh, _DEBUG menjajarkan kod penyahpepijatan dengan teknik yang digunakan oleh perpustakaan Microsoft C Runtime. Begitu juga, NDEBUG sejajar dengan gelagat fungsi assert().

Pendekatan Alternatif

Jika seseorang memilih untuk menentukan makro nyahpepijat tersuai mereka, adalah dinasihatkan untuk mengelak daripada menggunakan nama bermula dengan garis bawah. Konvensyen penamaan ini dikhaskan oleh penyusun dan persekitaran masa jalan.

Atas ialah kandungan terperinci _DEBUG lwn. NDEBUG: Prapemproses Mana Yang Perlu Saya Gunakan untuk Penyahpepijatan?. 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