[an error occurred while processing this directive]
|
На PC Ваша программа работает под управлением той или иной ОС. Программе выделяются соответствующие ресурсы. В машинке другая среда. Есть гарантия, что ей хватает ресурсов, например, того же самого стека?
Другая причина может быть в том, что Вы использовали машинно-зависимые типы данных, которые, кстати, могут зависеть и от компилятора даже на одной платоформе.
Маленький пример. Программа, прекрасно работающая под DOS, не работает под Windows в качестве консольного приложения. Оказалось, в компиляторе от Borland для DOS данные типа int являлись 16-разрядными числами, в то время как в компиляторе для Windows они были 32-разрядными. Примеров таких подводных камнений можно привести множество.
Поэтому суждения о переносимости программ на Си хотя и имеют основания, но в реальности надо о переносимости следует специально позаботиться. Автоматически, как правило, не получается.
E-mail: info@telesys.ru