Как написать переносимый код на C ++? - PullRequest
27 голосов
/ 23 июня 2010

Что я должен иметь в виду при написании переносимого кода?Так как я новичок в C ++, я хочу практиковать это с самого начала.

Спасибо.

Ответы [ 12 ]

1 голос
/ 23 июня 2010

Для изучения старайтесь избегать книг, которые концентрируются на одной реализации.В некоторых случаях введение или первая глава дают вам некоторые инструкции о том, как получить или использовать языковую реализацию;если в нем упоминается более одной реализации, вы, вероятно, в порядке.

Получите справочник, который не зависит от платформы.Stroustrup Язык программирования C ++ является хорошим справочником, хотя это не хорошая книга для начинающих, чтобы учиться.Не полагайтесь на ссылки для данной реализации.Например, MSDN полезен, но его основной задачей является, как писать программы для Windows с использованием Visual C ++, а не как писать программы, которые будут компилироваться и запускаться где угодно.

Чтобы написать что-нибудь действительно полезное, вы собираетесьдолжны попасть в непереносимый код.Попробуйте привыкнуть отделять код пользовательского интерфейса от всего остального, потому что именно там у вас будет наименьшая совместимость.Чем меньше кода вам придется менять между платформами, тем более переносим ваш код.

0 голосов
/ 23 июня 2010

хорошая идея - использовать системные вызовы POSIX.таким образом, вам не нужно иметь дело с различными способами создания потоков или использования мьютексов и сигналов.

проблема в том, что Windows не совсем POSIX-совместима, но есть библиотеки, которые реализуют определенные функции POSIX, напримеродин: [1]: http://sourceware.org/pthreads-win32/

...