|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Vsevolod Melnikov 2:5020/400 28 Aug 2000 22:54:14 To : All Subject : C++ и разные UNIX-ы -------------------------------------------------------------------------------- Доброе всем время суток! А не прояснит ли кто следующую ситуацию? Имеем некоторый код на C++ (написанный не мной). Еще имеем RedHat Linux 6.2, FreeBSD 4.1 и Solaris 2.6 все на одном винте на пентиуме. Экспериментирую с переносимостью кода. Вобщем, код с небольшими поправками я скомпилял и запустил. Интересен ряд моментов. Первое. В исходниках употреблялась функция strsep. Под Linux и FreeBSD оно скомпилялось, под Solaris - нет. Пришлось менять руками на strtok. При этом gcc на всех трех платформах примерно одной версии - 2.9.что-то_еще. Вопрос: почему на солярке про эту функцию компилятор не знал, а на фре и линуксе - знал? Откуда вообще сакральное знание об этой функции берется и куда девается? Второе. Следующий очевидный вопрос - нельзя ли в подобных случаях не руками исправлять исходники, а делать это автоматически или хотя бы полуавтоматически? Может ли помочь в этом какой-нибудь софт типа Autoconf? Или что-то еще? Третье. При компиляции под разными платформами мне пришлось немного править параметры опций -l в строке запуска gcc. Линукс, напрмимер, хотел, чтобы был -lnsl, а солярка прекрасно обходилась без этого, зато требовала еще что-то свое для сокетов. Вопрос тот же. А здесь компиляцию можно каким-либо софтом автоматизировать? Чтобы, скажем, имея отлаженные исходникик под Linux не ковыряться с переносом на каждой новой платформе. Хотя и не особо сложно, но выглядит как-то несерьезно. Всеволод. --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/786946ed5edc.html, оценка из 5, голосов 10
|