gcc 4.7.2 c89
你好,
我正在使用 posix 消息队列:mq_create、mq_send、mq_receive 等。
我试图找出内核支持的默认消息大小(attr.msgsize)和最大消息(attr.maxmsg)。
目前我已经这样做了自己设置默认值:
#define MQ_MAXMSGS_DEFAULT 10
#define MQ_MSGSIZE_DEFAULT 8192
当我在命令行上从用户那里获得输入时,如果用户输入的值超出这些默认值,我将使用它们来设置默认值:
long msg_size = atol(optarg);
attr->mq_msgsize =
(msg_size > MQ_MSGSIZE_DEFAULT ? MQ_MSGSIZE_DEFAULT : msg_size);
但是,这不是很便携,因为我已经硬编码了默认值,而在不同的平台上可能会有所不同。
是否有可用于获取默认值的系统调用?
非常感谢您的任何建议,