问题标签 [timespec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 将 time_t 与 struct timespec 进行比较(在 C 中)
我有多个 struct timespec 值和一个 time_t 值。我想看看哪个 struct timespec 值最接近 time_t 值。我应该只比较秒而忽略纳秒吗?或者我应该将两者都转换为自纪元以来的总纳秒?或者也许将两者都转换为自 Epoch 将半秒添加到 time_t 以来的总纳秒?
背景: struct timespec 有两个成员:.tv_sec 包含自 Epoch 以来的秒数,.tv_nsec 包含额外的纳秒。time_t 只是秒。在我的例子中, struct timespec 值来自文件系统属性,而 time_t 值是从本地时间字符串转换而来的。我不知道系统调用是否获取本地时间以纳秒为单位或截断它们,所以我不知道,假设 time_t 可能与同时生成的 struct timespec 相差一秒或一秒。
我可以将每个 struct timespec 值中的 .tv_sec 与 time_r 值进行比较,或者我可以将每个 tv_sec 乘以 1,000,000,000 并将其添加到其 tv_nsec,然后将 time_t 乘以 1,000,000,000,然后进行比较?或者还要给time_r增加半秒?自大纪元以来转换为纳秒是否值得麻烦?另外,我应该使用什么类型?无符号长长?
(我不知道我是想太多了还是想得太少了。)
c - 尝试从命令行获取时间并将其存储在 struct timespec 变量中
我正在尝试从命令行以纪元格式输入时间,并且我想将其存储在 struct timespec 变量中。
我能够存储它并以某种方式打印它但是当我向 timespec 变量添加一些东西时它会给出奇怪的东西
这是代码
这是输入和输出
我尝试对 *argv[] 使用其他变量类型,并尝试使用 %s 作为 print 的输出,但是之前的时间给了我正确的输入,但之后的时间给了我一些奇怪的东西,这里是我输出时的示例将 %ld 更改为 %s。此外,当我这样做时,编译器会发出一些警告,因为我没有使用正确的格式
我正在使用这个 gcc 版本
multithreading - 应用所有已知解决方案后发生 timespec 重新定义错误
所以我正在使用 Visual Studio 2019 并安装了 pthread 包,但是每当我运行我的代码时,都会弹出以下错误“ 'timespec': 'struct' type redefinition ”
我发现的最常见的解决方案是#define HAVE_STRUCT_TIMESPEC
在包含 pthread.h 之前放置,但是每当我这样做时,都会出现两个错误:
1- LNK2019 未解析的外部符号 __imp__pthread_create 在函数 _main 中引用
2- 1 个未处理的外部
我知道这个问题很常见,但我没有找到任何解决指定的两个新错误的方法。