2009-03-05 50 views
1

Win32'de (MFC dışında) çıktı penceresine metin yazmak için kullanılan standart makro nedir? İşlemcinin koşullu olarak sürüm oluşturma dışında bıraktığı bir şey arıyorum.Win32 Hata Ayıklama Makroları

Kendi el işimizin eşiğinde bulunuyoruz.

cevap

0

Belki ATLTRACE'i düşünüyorsunuz? Oldukça "standart makro" değil, ama oldukça yakın, sanırım.

+0

Düz Win32 ile çalışır mı? –

+0

Elbette. Ben sadece atlbase.h dahil bir Win32 konsol projesi oluşturdum ve ATLTRACE() çıktısı çıktı penceresinde güzel görünüyor. – Arnout

2

Bir standart olduğuna inanıyorum, en iyisi kendi yuvarlanmanızdır. Ancak, OutputDebugString(char*)'u düşünmek isteyebilirsiniz. Debug kanalına çıktı gönderir.

+0

OutputDebugString çağrıları önişlemci tarafından ortadan kaldırılamaz. –

+0

Evet, ancak makroda OutputDebugString() öğesini kullanabilirsiniz ... –

1

Bunun için bir trace macro10 vardır, bu yalnızca hata ayıklaması olan printf biçimindeki çıktı işlevidir. Bunun yanı sıra, _RPT macros'u denemek isteyebilirsiniz.

+0

TRACE yalnızca MFC'dir. Ama _RPT * makroları için teşekkürler. –

+0

Damn, "MFC olmayan" çözümü kaçırdı: D Makronun nasıl uygulandığını incelemek isteyebilirsiniz, belki de MFC'yi dahili olarak kullanmıyor olabilirsiniz. – Anteru

0

Eğer debugapi işlevlerini kullanarak kendi ayıklama yardımcıları oluşturmalısınız

örnek:

'#' _DEBUG '#' TRACE tanımlamak ifdef (x) OutputDebugString (x) '#' endif