最近复习C/C++,今日用APR编写了一个生产/消费模型的小程序。结果出现了这样一个奇怪的警告:“提领类型双关的指针将破坏强重叠规则”,让我大惑不解,特此和大家讨论一下。 我用的是gcc 版本 4.2.3 (Ubuntu 4.2.3-2ubuntu7) 线程模型:posix。出现警告的这段是这样的: apr_queue_t *queue = (apr_queue_t *) data; int *d = NULL; while(1){ apr_queue_pop(queue, (void **)(&d)); // -- 此处为出现警告的地方。 printf(“Consumed: %d\n”, *d); } 虽然可以运行无误,但该警告还是让我比较无奈,最后我改成了如下: apr_queue_t *queue = (apr_queue_t *) data; int *d = NULL; void *c = NULL; while(1){ apr_queue_pop(queue, &c); d = (int *)c; printf(“Consumed: %d\n”, *d); } 因为很久没有写C,在这里,我的问题是: [...]
关于我
- 曹力
- 程序员 / 架构师
- JavaScript高级程序设计译者
- NirvanaStudio精神领袖
版权声明
本 Blog 所有文章若无特别声明都遵循创作共用约定,要求署名、非商业、保持一致。转载时请先阅读以上许可协议,并以超链接形式注明出处。分类目录
-
RSS Links
Blogroll
Nirvana Studio
其他
标签
功能
-
