У меня сейчас серьезная проблема, и я действительно хочу узнать, в чем причина.Язык C: включение заголовка приводит к неожиданному поведению
Функция исходного файла:
//function.c
#include "function.h"
void FunctionA (int tiFrame)
{
printf ("%d", tiFrame);
}
Функция Заголовочный файл:
//function.h
extern void FunctionA (int tiFrame);
Глупое вне заголовка файла:
// stupid.h
#define tiFrame TIFRAME
Применение:
//application.c
#include "stupid.h"
#include "function.h"
void App2()
{
FunctionA (10);
}
Результат: FunctionA всегда печатается «0» (нулевое значение)!
Теперь я изменил файл приложения:
//application.c
#include "function.h"
#include "stupid.h"
void App2()
{
FunctionA (10);
}
Результат: (! Правильно) FunctionA всегда напечатанный "10"!
У кого-нибудь есть представление о первопричине?
См. Предварительный выход приложения application.c. Это может дать некоторый намек. – doptimusprime
@KhangLe, что такое TIFRAME? – mangusta
@mangusta: #define TIFRAME 15. Кстати, определение «tiFrame» должно быть удалено, но это не так, поэтому я застрял с ним. –