- 主题:C++11 和 C++17 混合使用会有什么问题吗?
没觉得应该这样使用, 就是想知道会不会有什么问题, 以及, 某些小公司上层管事的不明确编译标准, 子模块可能各行其事用了不同的标准
--
修改:confinement FROM 113.98.204.*
FROM 113.98.204.*
11 有些提案欠妥当,大部分都在 17 纠正了吧。不过应该都是些很细节的,作为普通用户应该碰不上。
【 在 confinement 的大作中提到: 】
:
: 没觉得应该这样使用, 就是想知道会不会有什么问题, 以及, 某些小公司上层管事的不明确编译标准, 子模块可能各行其事用了不同的标准
#发自zSMTH-v-@钛星
--
FROM 203.208.61.*
不过,尽量能用稳定,新的,要求高的,还是好不少。
我们有个仿真软件,早些年应该是基于11,我们利用这个仿真软件建立我们自己的代码,每隔几个月升级一次版本,虽然一直都是11的,但是每次升级都各种bug,好几个人都得忙1,2周才能再次运行起来。
现在高C++标准下的软件版本移植和更新容易多了,bug少多了,一个人折腾2,3天就差不多。平时运行,出bug也少多了。
【 在 ble 的大作中提到: 】
: 11 有些提案欠妥当,大部分都在 17 纠正了吧。不过应该都是些很细节的,作为普通用户应该碰不上。
:
: #发自zSMTH-v-@钛星
--
FROM 202.122.36.*
没看明白。c++11 到 c++17 是很小的改进,为什么会减少大量 BUG 呢?
【 在 yilongzhen 的大作中提到: 】
: 不过,尽量能用稳定,新的,要求高的,还是好不少。
: 我们有个仿真软件,早些年应该是基于11,我们利用这个仿真软件建立我们自己的代码,每隔几个月升级一次版本,虽然一直都是11的,但是每次升级都各种bug,好几个人都得忙1,2周才能再次运行起来。
: 现在高C++标准下的软件版本移植和更新容易多了,bug少多了,一个人折腾2,3天就差不多。平时运行,出bug也少多了。
: ...................
--
FROM 117.24.94.*
可能还有其它原因,
我这也是用户,而且对系统和c++也并不是直接用,实际应用是这样,
时间大概06年前后,用slc linux4.x,内核2.4左右,gcc(g++)版本应该3.x左右(记忆中,并不一定很准),那时候g++应该大概兼容c++11吧?现在用centos8.5,gcc 8.5了,我了解应该是c++17兼容的。
按你说的c++11和C++17没那么大差异,那就应该还有linux,gcc编译器的差异了?就不太懂了。
【 在 hgoldfish 的大作中提到: 】
: 没看明白。c++11 到 c++17 是很小的改进,为什么会减少大量 BUG 呢?
:
--
FROM 202.122.36.*
互相调用接口不要用stl的数据结构,不兼容
自己写类或者标准c数据结构
【 在 confinement 的大作中提到: 】
: 没觉得应该这样使用, 就是想知道会不会有什么问题, 以及, 某些小公司上层管事的不明确编译标准, 子模块可能各行其事用了不同的标准
--
FROM 14.150.198.*
主要的兼容问题不在-std=c++11还是c++17
而在于_GLIBCXX_USE_CXX11_ABI
你得确认两份代码这个宏的定义是否一样。
【 在 confinement 的大作中提到: 】
: 没觉得应该这样使用, 就是想知道会不会有什么问题, 以及, 某些小公司上层管事的不明确编译标准, 子模块可能各行其事用了不同的标准
--
FROM 220.207.87.*
明显是你们应该用版本11啊,人家用旧的才能让更多的人借鉴代码。
【 在 yilongzhen 的大作中提到: 】
: 不过,尽量能用稳定,新的,要求高的,还是好不少。
: 我们有个仿真软件,早些年应该是基于11,我们利用这个仿真软件建立我们自己的代码,每隔几个月升级一次版本,虽然一直都是11的,但是每次升级都各种bug,好几个人都得忙1,2周才能再次运行起来。
: 现在高C++标准下的软件版本移植和更新容易多了,bug少多了,一个人折腾2,3天就差不多。平时运行,出bug也少多了。
--
FROM 123.123.42.*
那会儿的 gcc 应该是不支持 c++11 的。我印象比较深刻,我之前在 openSUSE 14.3 上面用的是 gcc 4.9,仍然有部分 c++11 的代码编译不通过。
【 在 yilongzhen 的大作中提到: 】
: 可能还有其它原因,
: 我这也是用户,而且对系统和c++也并不是直接用,实际应用是这样,
: 时间大概06年前后,用slc linux4.x,内核2.4左右,gcc(g++)版本应该3.x左右(记忆中,并不一定很准),那时候g++应该大概兼容c++11吧?现在用centos8.5,gcc 8.5了,我了解应该是c++17兼容的。
: ...................
--
FROM 117.24.94.*
呵呵,所以我自己也打了问号的,那个年代gcc和c++关联确实弱。
我们应用软件一直都有linux版,和windows版并行。我们一直用linux版,gcc4.9或者更以前,win版应该用c++11编译的,那个时代c++11是主流吧。即便现在,gcc和c++17兼容了,linux版和win版还是不一样的,不知道除了针对系统不一样外,纯代码的部分是否可以互换了....。
【 在 hgoldfish 的大作中提到: 】
: 那会儿的 gcc 应该是不支持 c++11 的。我印象比较深刻,我之前在 openSUSE 14.3 上面用的是 gcc 4.9,仍然有部分 c++11 的代码编译不通过。
:
--
FROM 202.122.36.*