Skip to content

Latest commit

 

History

History
21 lines (11 loc) · 927 Bytes

06-Considering_Portability.md

File metadata and controls

21 lines (11 loc) · 927 Bytes

Considering Portability

Know Your Types

Most portability issues that generate warnings are because we are not careful about our types. Standard library and arrays are indexed with size_t. Standard container sizes are reported in size_t. If you get the handling of size_t wrong, you can create subtle lurking 64-bit issues that arise only after you start to overflow the indexing of 32-bit integers. char vs unsigned char.

http://www.viva64.com/en/a/0010/

Use The Standard Library

std::filesystem

C++17 added a new filesystem library which provides portable filesystem access across all supporting compilers

std::thread

C++11's threading capabilities should be utilized over pthread or WinThreads.

Other Concerns

Most of the other concerns in this document ultimately come back to portability issues. Avoid statics is particularly of note.