Tag: 便携性

与qsort相比,重入qsort_r函数的可移植性如何?

qsort_r()是qsort()可重入版本,它接受一个额外的’thunk’参数并将其传递给compare函数,我希望能够在便携式C代码中使用它。 qsort()是POSIX和无处不​​在,但qsort_r()似乎是一个BSD扩展。 作为一个特定问题,这是否存在或在Windows C运行时具有等效?

便携式处理64/32位time_t的方法

我有一些代码,它们都是在Windows和Linux上构建的。 此时的Linux总是32位,但Windows是32位和64位。 Windows希望time_t为64位,而Linux仍然将其作为32位。 我很好,除了在某些地方time_t值转换为字符串。 所以当time_T是32位时,它应该用%d完成,当它是64位时用%lld …这样做的聪明方法是什么? 另外:任何想法我如何找到time_t传递给printf样式函数来解决这个问题的所有地方? 编辑:我想出将TT_FMT声明为“%d”或“%lld”,然后将printf中的printfs(“time:%d,register:blah”)更改为printf(“time:”TT_FMT“,注册:blah“)有更好的方法吗? 我如何找到它们?