سؤال
أنا أكتب C89 على MSFT Visual Studio 2010 Beta. كيف يمكنني التأكيد ، على غرار جافا assert
الكلمة الرئيسية؟ أعتقد أنني بحاجة إلى تحديد ماكرو ، لكنني لست متأكدًا من كيفية. (يبدو أن هذا شيء تم القيام به من قبل ، لذلك أفضل استخدام ذلك بدلاً من محاولة لفني.)
هذا تخمين:
int assert(int truth_value) {
// crash the program with an appropriate error message
}
المحلول
C89 لديه <assert.h>
, الذي يحتوي على الماكرو الذي تبحث عنه.
#include <assert.h>
assert(expression);
من الوثائق:
ال يجزم() اختبارات الماكرو المعطاة التعبير وإذا كانت خاطئة ، يتم إنهاء عملية الاتصال. تتم كتابة رسالة تشخيصية إلى Stderrوتسمى وظيفة الإجهاض (3) ، بإنهاء البرنامج بشكل فعال.
لو التعبير صحيح ، يجزم() ماكرو لا يفعل شيئًا.
لا تنتمي إلى StackOverflow