Пока вы используете Boost, стандартную библиотеку C ++ (и CRT, если считаете нужным), ваш код будет переноситься довольно легко.
Убедитесь, что вы избегаете любых расширений Microsoft CRT, таких как функции str*_s
(например, здесь ) - MSDN, к сожалению, не очень хорошо помечает их как нестандартные.
Также избегайте использования функций C ++ 0x в Visual C ++ v10 для максимизации переносимости в краткосрочной перспективе - или проверьте, что другие нацеленные вами компиляторы имеют функции, которые вы планируете использовать.
Будьте осторожны: Если вы используете кучу вещей из windows.h
, вы нарушите мобильность и увеличите объем работы, которую вам нужно сделать. Избегайте этого, насколько это возможно, если вы ожидаете портирования позже, и если вам что-то нужно оттуда, попробуйте выделить использование в отдельном заголовке и файлах кода «Мне нужно изменить это, когда я портирую», так что вы знаю, что вам нужно смотреть только на это подмножество вашего кода при портировании на другую ОС.