RYN*_*RYN 4 c windows time mingw time.h
我正在尝试计算两者之间的差异time_t.
但difftime返回其第一个参数而不是差异!
我的代码是:
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include <unistd.h>
int main(){
time_t etime_t,now_t;
double time_diff;
now_t=1388525484L;
etime_t=1389338644L;
time_diff=difftime(now_t,etime_t);
printf("%f",time_diff);
}
Run Code Online (Sandbox Code Playgroud)
它打印:
1388525484.000000
Run Code Online (Sandbox Code Playgroud)
我正在编译GCC(in MinWG)有
什么问题?
一个MinGw错误.他们将difftime编译为标准windows函数的调用.但是,即使参数是64位,它们也会调用32位版本的difftime.这给出了预期的结果,因为它从下半部分减去第一个参数(即0)的较高一半.在这里查看 错误报告.它可以通过插入临时固定
#define _USE_32BIT_TIME_T 1
Run Code Online (Sandbox Code Playgroud)
在包括time.h之前
| 归档时间: |
|
| 查看次数: |
1665 次 |
| 最近记录: |