【问题标题】:Microblaze cross compiler cannot find clock_gettimeMicroblaze 交叉编译器找不到clock_gettime
【发布时间】:2013-12-22 00:27:58
【问题描述】:

我正在使用运行 Linux(内核版本 3.0)的 Xiillnx borad。板上配置了 microblaze。

我的主机运行 Ubuntu 12.04 X86_64 并安装了工具链 (tools-4.1.2-mb-ctng-v1.4-x86_64.tar.bz2)。

我编写了一个用户模式应用程序并尝试使用clock_gettime 来衡量它的性能。我包括 time.h (也试过 sys/time.h) 。但是当我尝试编译它时,编译器总是给我错误“函数时钟gettime的隐式声明”

我尝试在我的代码中定义 _POSIX_C_SOURCE >= 199309L,但它说 _POSIX_C_SOURCE 已经定义。

我使用eclipse作为我的IDE,并设置了交叉编译环境。

有什么建议吗?我还有一个问题,我在哪里可以找到我的程序的嵌入式 linux 头文件和库?交叉编译器会处理它吗?

谢谢

【问题讨论】:

  • 你能用#undef吗?

标签: c linux xilinx


【解决方案1】:

您的工具链可能不支持此功能。检查unistd.h中的_POSIX_TIMERS是否有大于0的值,表示clock_*函数可用。作为一种故障保护方法,您可以使用clock(),但如果不支持前者,则可能会降低分辨率。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 2016-12-12
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 2017-06-07
    相关资源
    最近更新 更多