免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: myworkstation

[C++] 你在项目中使用C++11遇到了哪些问题? [复制链接]

论坛徽章:
17
处女座
日期:2013-08-27 09:59:352015亚冠之柏太阳神
日期:2015-07-30 10:16:402015亚冠之萨济拖拉机
日期:2015-07-29 18:58:182015年亚洲杯之巴勒斯坦
日期:2015-03-06 17:38:17摩羯座
日期:2014-12-11 21:31:34戌狗
日期:2014-07-20 20:57:32子鼠
日期:2014-05-15 16:25:21亥猪
日期:2014-02-11 17:32:05丑牛
日期:2014-01-20 15:45:51丑牛
日期:2013-10-22 11:12:56双子座
日期:2013-10-18 16:28:17白羊座
日期:2013-10-18 10:50:45
发表于 2015-07-31 15:30 |显示全部楼层
回复 20# renxiao2003


    那是我误解了,C的应用场景还是很多的。像潜入式、驱动依然是C的天下。流行的开源库、工具、服务器程序用C依然是主流。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2015-07-31 16:32 |显示全部楼层
回复 21# myworkstation


    不错。是这样。可惜当年C没学好 。所以整了个基于对象的语言PB开发。

论坛徽章:
17
处女座
日期:2013-08-27 09:59:352015亚冠之柏太阳神
日期:2015-07-30 10:16:402015亚冠之萨济拖拉机
日期:2015-07-29 18:58:182015年亚洲杯之巴勒斯坦
日期:2015-03-06 17:38:17摩羯座
日期:2014-12-11 21:31:34戌狗
日期:2014-07-20 20:57:32子鼠
日期:2014-05-15 16:25:21亥猪
日期:2014-02-11 17:32:05丑牛
日期:2014-01-20 15:45:51丑牛
日期:2013-10-22 11:12:56双子座
日期:2013-10-18 16:28:17白羊座
日期:2013-10-18 10:50:45
发表于 2015-08-01 15:32 |显示全部楼层
回复 22# renxiao2003

说来话长啊,PB也是我第一门学会的语言,真没见过比PB没落的还快的语言了。
   

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2015-08-01 21:15 |显示全部楼层
回复 23# myworkstation


    现在用PB的好像都没有了。

论坛徽章:
4
IT运维版块每日发帖之星
日期:2015-08-04 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:002015亚冠之阿尔艾因
日期:2015-11-08 10:27:01CU十四周年纪念徽章
日期:2020-11-05 14:10:23
发表于 2015-08-04 11:16 |显示全部楼层
1、你的项目在立项时是否会基于C++11标准进行设计?为什么?
     不会,我们立项时不会严格要求按哪种语言或哪种标准来设计的,选择合适的语言和标准就好。
2、在你参与或主导的旧项目中是否考试过向C++11迁移? 请说出原因。
     不会考虑,项目太大,现在都是成熟稳定版本,迁移成本太大,又有风险,而且没有必要
3、你是否已经完整的了解过C++11?从何时开始了解?你认为最有效的了解C++11的方法是什么?
      大致了解了,去年开始了解,最有效的方法当然是实践了
4、你认为哪些原因是阻碍C++11快速普及的因素?如何才能做的更好?
     很多大的项目都在成熟稳定的跑着,迁到C++11,不现实,也没必要。不过,新的项目可以考虑,已经看到不少开源的项目已按C++11来做了。

论坛徽章:
17
处女座
日期:2013-08-27 09:59:352015亚冠之柏太阳神
日期:2015-07-30 10:16:402015亚冠之萨济拖拉机
日期:2015-07-29 18:58:182015年亚洲杯之巴勒斯坦
日期:2015-03-06 17:38:17摩羯座
日期:2014-12-11 21:31:34戌狗
日期:2014-07-20 20:57:32子鼠
日期:2014-05-15 16:25:21亥猪
日期:2014-02-11 17:32:05丑牛
日期:2014-01-20 15:45:51丑牛
日期:2013-10-22 11:12:56双子座
日期:2013-10-18 16:28:17白羊座
日期:2013-10-18 10:50:45
发表于 2015-08-04 13:22 |显示全部楼层
回复 25# nail78


   

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
发表于 2015-08-06 16:13 |显示全部楼层

论坛徽章:
17
处女座
日期:2013-08-27 09:59:352015亚冠之柏太阳神
日期:2015-07-30 10:16:402015亚冠之萨济拖拉机
日期:2015-07-29 18:58:182015年亚洲杯之巴勒斯坦
日期:2015-03-06 17:38:17摩羯座
日期:2014-12-11 21:31:34戌狗
日期:2014-07-20 20:57:32子鼠
日期:2014-05-15 16:25:21亥猪
日期:2014-02-11 17:32:05丑牛
日期:2014-01-20 15:45:51丑牛
日期:2013-10-22 11:12:56双子座
日期:2013-10-18 16:28:17白羊座
日期:2013-10-18 10:50:45
发表于 2015-08-06 18:01 |显示全部楼层
回复 27# windoze


    归根结底是由于库在处理pthread相关符号时使用weakref策略引起的,这本身是个linker相关的问题,不光是C++的问题。涉及pthread都可能出现这种情况。标准对于工具的实现细节确实没什么约束力。

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
发表于 2015-08-06 18:41 |显示全部楼层
本帖最后由 windoze 于 2015-08-06 18:44 编辑

回复 28# myworkstation

同样是用pthread的程序,C写的就没问题,用boost::thread也没问题,所以我觉得还是与libstdc++里的C++11 threading有关。
同样的用法,FreeBSD下就没问题,周末试试musl、libc++、libc++abi/libcxxrt的组合看看行不行。

论坛徽章:
7
IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00平安夜徽章
日期:2015-12-26 00:06:30技术图书徽章
日期:2016-02-03 16:35:252016猴年福章徽章
日期:2016-02-18 15:30:34fulanqi
日期:2016-06-17 17:54:25C
日期:2016-10-25 16:08:32
发表于 2015-08-14 17:53 |显示全部楼层
本帖最后由 demilich 于 2015-08-14 17:54 编辑

1、你的项目在立项时是否会基于C++11标准进行设计?为什么?
会的,原因一下几个:
- 本身加入了原来boost里的一些特性,我们公司的规定是不能用boost(很奇葩的规定),那么新立项的时候,直接用c++11就可以省去很多的麻烦
- 资源管理比之前容易了很多,主要还是unique_ptr/shared_ptr带来的
- 一些性能(右值引用),安全性(lambda表达式)等等的改善
- 现代的C++编程潮流,要跟上时代潮流啊

2、在你参与或主导的旧项目中是否考试过向C++11迁移? 请说出原因。
考虑过,不过要分情况:
- 已经稳定进入维护状态的项目,不考虑迁移。避免各种麻烦 ..
- 还有新模块开发的项目,可以考虑新模块的部分使用C++11,但是也需要慎重

3、你是否已经完整的了解过C++11?从何时开始了解?你认为最有效的了解C++11的方法是什么?
- 基本完整了解过
- c++11正式发布的时候,开始了解,实际要在项目中使用的时候,开始系统学习
- 看书 ->总结->实践->再看书->总结

4、你认为哪些原因是阻碍C++11快速普及的因素?如何才能做的更好?
阻碍普及的因素:
- C++11推出的太迟了,c++标准委员会难辞其咎
- C++最好的时候已经过去了,过去使用C++的地方,现在可以用其他语言来实现,这些语言的学习时间、使用/调试难度要比C++容易。所以不是C++11不能快速普及,而是C++自身就在萎缩
- C++11相对于之前的C++变化太大,想要适应C++11付出的代价不啻于学一门新的语言
如何做的更好:
- 需要宣传C++11对于产品的开发、维护、性能等要素的提高程度,有好处大家才会用,才会学
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP