gcc 4.7.2
c89
APR 1.4
你好,
我正在以 32 位模式编译我的程序,即-m32
我正在链接的一些库使用 32 位库。
我有以下结构:
struct tag_channel {
apr_int32_t id;
char *name;
};
对于 id 我想要一个随机数,所以我使用 APR:
apr_time_t time_secs = apr_time_sec(apr_time_now());
我想知道关于强制转换,因为 apr_time_sec 返回一个 apr_time_t 类型,它是:
typedef apr_int64_t
我可以输入以下内容:
channel->id = (apr_int32_t)time_secs;
但是,我担心因铸造而失去价值。
以下是64位,所以不确定这是否可行。
#define APR_TIME_T_FMT APR_INT64_T_FMT
我不想将 id 的通道结构更改为,apr_time_t
因为为 ID 值设置时间值并没有任何意义。
哪个是最好的投射方式?
非常感谢您的任何建议,