betatester писал(а):1) Отсутствие механизма автоматического портирования *.h файлов и механизма, подобного configure. Configure - стандартный скрипт, обеспечивающий портирование - и от этого никуда не денешься. К тому же - он работает.
Ни фига он не стандартный. Под каждую пишется configure.in, потом "компилируется" с помощью automake. В процессе участвуют не только настройки конкретной системы, но и настройки компилятора, которым все будут собирать. Если собрать в кучу все средства, которыми это достигается (отдельный компилятор языка M4 и прочее), волосы дыбом встают. Для приведения в соответствие 100 кБайт исходников нужен скрипт на 500 КБайт (!!!). Правда, и для 50мБайт исходников остаются те же 500КБ.
Паскаль как таковой представляет из себя попытку куда-то от этого деться. Кстати, вполне успешную попытку Сама идеология Паскаля предполагает то, что все зависимости перечисляются в исходниках, а исходники от других модулей в общем случае не требуются (достаточно .ppu). Поэтому и автоматическое изменение исходников не предусматривается.
Переносить сюда Сишный механизм конфигурации - по крайней мере неразумно.
betatester писал(а):Как Вы полагаете - как правильнее делать - базовые функции OS syscall'ами вызывать или все же из libc? Что более правильно в смысле переносимости и кросс-платформенности?
В смысле кроссплатформенности _должно_ быть одинаково. То есть libc должна быть так же стабильна, как и ядро. Но на практике это, увы, не так.
Собственно, если мы вызываем syscall, которого в ядре нет, ничего фатального не происходит. А если мы связываемся с несуществующей ф-цией из библиотеки, то программа не запустится вообще.
p.s: дискуссия ушла в далекий офтоп...