我有3個文件:預處理器指令define和ifdef不按我想象的那樣工作?
的main.c
#include <stdio.h>
#include <stdlib.h>
#include "test.h"
#define DEBUG
int main()
{
testFunction();
return 0;
}
test.h
#ifndef TEST_H
#define TEST_H
#include <stdio.h>
#include <stdlib.h>
void testFunction();
#endif // TEST_H_INCLUDED
test.c的
#include "test.h"
void testFunction(){
#ifdef DEBUG
printf("I'm inside the testFunction\n");
#endif
}
問題:爲什麼程序不打印在的東西#ifdef DEBUG block?如果我在test.h或test.c中寫入#define DEBUG一切都很好。那麼問題是什麼#define DEBUG在main.c中?謝謝。
downvote的原因是什麼? – 2013-05-08 16:56:24