ToME: the Tales of Maj'Eyal

Everything about ToME
It is currently Thu Feb 23, 2017 6:58 am

All times are UTC




Post new topic Reply to topic  [ 321 posts ]  Go to page Previous  1 ... 18, 19, 20, 21, 22
Author Message
 Post subject: Re: ToME 2 maintenance
PostPosted: Sun Feb 28, 2016 2:14 am 
Offline
Thalore

Joined: Mon Mar 25, 2013 10:09 pm
Posts: 152
Lord Estraven wrote:
So just a heads up, Clang and GCC support for C++14 are both really iffy on Ubuntu 14.04 LTS, and probably also on Debian Stable. I'm guessing there are a lot of people using LTS as their main desktop; seeing as Canonical loves to break things all the time in non-LTS versions...

Anyway, from what I've read on the subject, there are subtle incompatibilities between C++11 and C++14. As such I'm not sure it's a good idea to move fully to C++14 right now. Personally, I would probably want to hold off until the next LTS version of Ubuntu.

That said, I'm not the C++ programmer here. YMMV.

Edit: on a side note, I've been reading Effective Modern C++, and it's almost enough to put me off C++ completely! It seems as though C++11/14 features introduce many, many new possibilities for undefined behavior at runtime, which can be difficult to detect while writing and compiling code.

What incompatibilities are you running into between C++11 and C++14? I know that GCC's C++11 introduced a new ABI that's not backwards compatible, but I'd though that C++14 was relatively minor. The ABI issues can be handled by adding "-D_GLIBCXX_USE_CXX11_ABI=0" to your compiler command on distros like 14.04 that still use the old ABI; see here.

For our C++11 work on Ubuntu 14.04 LTS, we enabled the toolchain test builds and used latest compilers and libraries from there, for full C++11/C++14 support. However, this is all on systems we control; it's probably kind of radical for a game you're distributing to others. For Clang, I think you could probably install the latest version from llvm.org's repositories for full C++14 support then distribute the binaries to people without taking further special action, but I haven't tried this.

Similarly, I'd thought that a lot of the changes in C++11 and C++14 and "modern" C++ were supposed to reduce undefined behavior. (Smart pointers are less error-prone than manual memory management, class initializers make uninitialized member variables less likely, etc.) That's been my experience, at least. I haven't read Effective Modern C++ yet, so I could easily be missing stuff.

_________________
Qi Daozei (QDZ) - an Oriental-themed fantasy game for T-Engine. ToME Tips - auto-generated spoilers for ToME.


Top
 Profile  
 
 Post subject: Re: ToME 2 maintenance
PostPosted: Sun Feb 28, 2016 4:35 pm 
Offline
Uruivellas

Joined: Tue Dec 13, 2005 12:35 am
Posts: 702
@Castler thanks...

It's quite possible I'm misinterpreting what I've read of Effective Modern C++. As I said, I'm not a C++ programmer by profession.

Re undefined behavior - on further reading, I think I have that wrong. Not undefined behavior, so much as lots of gotcha conditions. Meyers describes what seem like a lot of cases, mostly involving the functional programming features; where not-very-obvious mistakes can lead to code that compiles, runs, and does something you don't want.

Granted, it's not like C is any different in that respect. But C has far, far fewer rules to remember.

_________________
"These aren't the hobbits you're looking for."


Top
 Profile  
 
 Post subject: Re: ToME 2 maintenance
PostPosted: Tue Mar 01, 2016 2:16 am 
Offline
Thalore

Joined: Mon Mar 25, 2013 10:09 pm
Posts: 152
If you do come across any specific questions regarding C++, I'd be glad to try and answer them. C++ is where I spend most of my day job.

Lord Estraven wrote:
Granted, it's not like C is any different in that respect. But C has far, far fewer rules to remember.

I can definitely agree with you there.

_________________
Qi Daozei (QDZ) - an Oriental-themed fantasy game for T-Engine. ToME Tips - auto-generated spoilers for ToME.


Top
 Profile  
 
 Post subject: Re: ToME 2 maintenance
PostPosted: Wed Mar 02, 2016 3:10 am 
Offline
Uruivellas

Joined: Tue Dec 13, 2005 12:35 am
Posts: 702
[Edit: moving this discussion to its own thread]

_________________
"These aren't the hobbits you're looking for."


Last edited by Lord Estraven on Wed Mar 02, 2016 2:39 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: ToME 2 maintenance
PostPosted: Wed Mar 02, 2016 5:48 am 
Offline
Spiderkin

Joined: Sat Mar 18, 2006 12:48 pm
Posts: 476
Lord Estraven wrote:
(snip bits about C++ best practice)


Could you please take it to a different thread? While it's an interesting question, it's cluttering up the thread quite a bit.


Top
 Profile  
 
 Post subject: Re: ToME 2 maintenance
PostPosted: Wed Mar 02, 2016 2:38 pm 
Offline
Uruivellas

Joined: Tue Dec 13, 2005 12:35 am
Posts: 702
Aye, taking it to a different thread.

_________________
"These aren't the hobbits you're looking for."


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 321 posts ]  Go to page Previous  1 ... 18, 19, 20, 21, 22

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group