[an error occurred while processing this directive]
|
На ПК об этом даже не задумываешься. В МК выплывает проблема. По умолчанию компилятор размещает их ОЗУ. Если таких констант много, ОЗУ забивается быстро и образуется нехваток памяти для данных. Значит, нужно явно задавать их размещение во программной flash памяти. Опять же, некоторые функции стандартной библиотеки со строками не могут работать со строками в программной памяти и требуется использовать специальные функции, которых в том же VC просто нет.
Другая проблема - стек. При ограниченных ресурсах памяти у МК есть вероятность нехватки стека. Перенесенные на МК программы в этом случае просто не будут работать.
Если хотите, то еще одна проблема: разное представление данных одного и того же типа в разных компиляторах. Например, в Borland данные типа int - 32-разрядные, в IAR - 16-разрядные. Соответственно, программы могут работать по-разному.
Словом, проблем с переносом, больших и мелких, великое множество. В каждом случае надо разбираться независимо. Поэтому, если планируется перенос программы с одной платформы на другую, то об этом следует позаботиться заранее.