,刚拿到一块ARM板想编写一个时钟程序,调用了clock()函数,发现链接错误,说不能解决的外部符号,估计是没引用到那个个平台SDK中的time头文件,但是我已经确认那个sDK里存在那个头文件,不知道如何着正确引用,请大侠们指教。
------解决方案--------------------
clock()是一个standard C function,对于一些c标准库函数,WinCE是不支持的。
如果WinCE不支持,即使楼主正确引用了头文件也肯定是不行的。
clock()的定义应该在time.h里面,楼主可以打开你SDK下的time.h文件验证下。
搜索一下clock函数,如果time.h不存在它的定义,那应该就是不支持了。
------解决方案--------------------
附一段测试程序:
- C/C++ code
// crt_clock.c// This example prompts for how long// the program is to run and then continuously// displays the elapsed time for that period.//#include <stdio.h>#include <stdlib.h>#include <time.h>void sleep( clock_t wait );int main( void ){ long i = 6000000L; clock_t start, finish; double duration; // Delay for a specified time. printf( "Delay for three seconds\n" ); sleep( (clock_t)3 * CLOCKS_PER_SEC ); printf( "Done!\n" ); // Measure the duration of an event. printf( "Time to do %ld empty loops is ", i ); start = clock(); while( i-- ) ; finish = clock(); duration = (double)(finish - start) / CLOCKS_PER_SEC; printf( "%2.1f seconds\n", duration );}// Pauses for a specified number of milliseconds.void sleep( clock_t wait ){ clock_t goal; goal = wait + clock(); while( goal > clock() ) ;}