我试图编译我的代码,但是当我做,它发生:误差的extern - 未定义参考
In function `main':
/home/emilio/CB/QAP/main.cpp|42|undefined reference to `start_timers()'
/home/emilio/CB/QAP/main.cpp|45|undefined reference to `elapsed_time()'
我有“timer.c中”和“timer.h”为extern功能来衡量时间。
/timer.c里
#include <stdio.h>
#include <time.h>
#include "timer.h"
clock_t start_time;
double elapsed;
void start_timers(){
start_time = clock();
}
double elapsed_time(type)
TIMER_TYPE type;
{
elapsed = clock()- start_time;
return elapsed/CLOCKS_PER_SEC;
}
timer.h
extern clock_t start_time;
extern double elapsed;
int time_expired();
void start_timers();
double elapsed_time();
typedef enum type_timer {REAL, VIRTUAL} TIMER_TYPE;
的main.cpp
#include "timer.h"
...
double time;
start_timers();
launch_algorithm();;
time = elapsed_time();
...
我怎样才能解决呢?谢谢!
你用什么命令来编译它? – merlin2011
你确定你没打算放TIMER_TYPE类型;在上一行的括号内? Extern用于DLL和类似的东西。我怀疑你想要什么。 –
@ManuelArwedSchmidt extern也用于全局变量,他使用了一种非常古老的方式来定义函数参数。但这是C而不是C++ –