C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – clock()如何在访问系统时钟时起作用?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用附带最少库的STM32微控制器.我想使用< ctime>中的clock()函数. (可能是新的std :: chrono)但是我停留在clock()返回-1.

@H_502_8@

这并不奇怪,因为我不希望gcc-arm-none-eabi中的库知道我的微控制器的外围布局.@H_502_8@

如何告诉时钟从哪里得到它的滴答数?我可以简单地重新声明它,还是我需要实现一个较低级别的功能?@H_502_8@

解决方法

这通常是将libc实现移植到新平台的工作的一部分.当您编译glibc或newlib(C标准库的两个最流行的实现)的副本时,您必须提供一系列存根方法,其中一个将提供时间. gcc-arm-none-eabi是newlib中预定义的目标,它实现了很多这些存根,但不是用于获取间的目标,因为就像你说的那些是特定于应用程序的.

@H_502_8@

最好的办法是自己构建工具链,实现这个方法.您可以按照说明here,但在构建newlib之前编辑目标以填充此存根. here提供了实现存根的良好参.@H_502_8@

或者,您可以直接实现自己的时钟功能,当您链接您的应用程序时,它将更喜欢您的版本而不是库中的版本.但是,请注意,这意味着库中调用时钟的任何内容仍然会调用损坏的库版本,因此您可能需要重新实现许多功能.@H_502_8@

大佬总结

以上是大佬教程为你收集整理的c – clock()如何在访问系统时钟时起作用?全部内容,希望文章能够帮你解决c – clock()如何在访问系统时钟时起作用?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。