программа на С для десятка разнотипных девайсов

какие варианты написания программы (простейший интерпретатор) для минимум десятка разнотипных систем (8,16,32-битные процессоры, разная обвязка, зоопарк ОСов) ?

  1. куча #ifdef и параметры -DT_<target> -DM_<16/32> -DCPU_<i386,68K,AVR,..>
  2. платформенно-зависымый код выносится в отдельные модули

какие еще рекомендации ?

можно сляпать графический конфигуратор для основных девелоперских систем (win32, Linux, BSD и QNX на i386), в котором можно было бы включать/выключать галочки для подключения различных библиотек и расширений и выставлять размеры структур интерпретатора типа стеков, и потом кнопкой build&burn генерировать бинарники и инсталлить их в целевую систему (запуская при необходимости программаторный софт)

Reply to
Dmitry Ponyatov
Loading thread data ...

Wed Sep 27 2006 23:16, Dmitry Ponyatov wrote to All:

DP> какие варианты написания программы (простейший интерпретатор) для DP> минимум десятка разнотипных систем (8,16,32-битные процессоры, разная DP> обвязка, зоопарк ОСов) ?

DP> 1. куча #ifdef и параметры -DT_<target> -DM_<16/32>

DP> -DCPU_<i386,68K,AVR,..>

Пока разница небольшая, то нормально. По мере разрастания кода становится жутко неудобно.

DP> 2. платформенно-зависымый код выносится в отдельные модули

Так и делать.

  1. -> 2. в похожей по смыслу задаче мне уже приходилось делать. :-|

"Resistance is futile"

Reply to
Yuriy K

DP>> какие варианты написания программы (простейший интерпретатор) для DP>> минимум десятка разнотипных систем (8,16,32-битные процессоры, разная DP>> обвязка, зоопарк ОСов) ? YK>

DP>> 1. куча #ifdef и параметры -DT_<target> -DM_<16/32>

DP>> -DCPU_<i386,68K,AVR,..>

YK>

YK> Пока разница небольшая, то нормально. По мере разрастания кода становится YK> жутко неудобно. YK>

DP>> 2. платформенно-зависымый код выносится в отдельные модули YK>

YK> Так и делать. YK>

YK> 1. -> 2. в похожей по смыслу задаче мне уже приходилось делать. :-| YK>

YK> "Resistance is futile" еще очень пользительно вместо #ifdef обычные if применять. компиляторы нынче вполне неплохо константные if'ы оптимизят

Reply to
Dmitry E. Oboukhov

Tue Oct 03 2006 22:12, Dmitry E. Oboukhov wrote to Yuriy K:

DP>>> какие варианты написания программы (простейший интерпретатор) для DP>>> минимум десятка разнотипных систем (8,16,32-битные процессоры, разная DP>>> обвязка, зоопарк ОСов) ? YK>> DP>>> 1. куча #ifdef и параметры -DT_<target> -DM_<16/32>

DP>>> -DCPU_<i386,68K,AVR,..>

YK>> YK>> Пока разница небольшая, то нормально. По мере разрастания кода YK>> становится жутко неудобно. YK>> DP>>> 2. платформенно-зависымый код выносится в отдельные модули YK>> YK>> Так и делать. YK>> YK>> 1. -> 2. в похожей по смыслу задаче мне уже приходилось делать. :-| YK>> YK>> "Resistance is futile"

DEO> еще очень пользительно вместо #ifdef обычные if применять. DEO> компиляторы нынче вполне неплохо константные if'ы оптимизят

Это _ничего_ не меняет.

"Resistance is futile"

Reply to
Yuriy K

DP>>>> какие варианты написания программы (простейший интерпретатор) для DP>>>> минимум десятка разнотипных систем (8,16,32-битные процессоры, разная DP>>>> обвязка, зоопарк ОСов) ? YK>>>

DP>>>> 1. куча #ifdef и параметры -DT_<target> -DM_<16/32>

DP>>>> -DCPU_<i386,68K,AVR,..>

YK>>>

YK>>> Пока разница небольшая, то нормально. По мере разрастания кода YK>>> становится жутко неудобно. YK>>>

DP>>>> 2. платформенно-зависымый код выносится в отдельные модули YK>>>

YK>>> Так и делать. YK>>>

YK>>> 1. -> 2. в похожей по смыслу задаче мне уже приходилось делать. :-| YK>>>

YK>>> "Resistance is futile" YK>

DEO>> еще очень пользительно вместо #ifdef обычные if применять. DEO>> компиляторы нынче вполне неплохо константные if'ы оптимизят YK>

YK> Это _ничего_ не меняет. в каком смысле?

ifdef замененный на if позволяет ошибки видеть на этапе компиляции сразу для всех платформ при этом размер кода получается тот же что и с ifdef'ом

Reply to
Dmitry E. Oboukhov

Tue Oct 03 2006 23:39, Dmitry E. Oboukhov wrote to Yuriy K:

DP>>>>> какие варианты написания программы (простейший интерпретатор) для DP>>>>> минимум десятка разнотипных систем (8,16,32-битные процессоры, DP>>>>> разная DP>>>>> обвязка, зоопарк ОСов) ? YK>>>> DP>>>>> 1. куча #ifdef и параметры -DT_<target> -DM_<16/32>

DP>>>>> -DCPU_<i386,68K,AVR,..>

YK>>>> YK>>>> Пока разница небольшая, то нормально. По мере разрастания кода YK>>>> становится жутко неудобно. YK>>>> DEO>>> еще очень пользительно вместо #ifdef обычные if применять. DEO>>> компиляторы нынче вполне неплохо константные if'ы оптимизят YK>> YK>> Это _ничего_ не меняет.

DEO> в каком смысле?

В прямом.

DEO> ifdef замененный на if позволяет ошибки видеть на этапе компиляции сразу DEO> для всех платформ

Ошибки этапа компиляции перестают волновать на втором-третьем году практического программирования. Hекоторые считают, что уже через полгода. Hайти ошибки логические и алгоритмические одинаково сложно что с if, что с #ifdef.

Где бы взять такой компилятор, который сразу все логические ошибки показывает на этапе компиляции? Будет не программирование, а одно удовольствие. :-))

DEO> при этом размер кода получается тот же что и с ifdef'ом

Кого волнуют подобные мелочи?

"Resistance is futile"

Reply to
Yuriy K

Если верно что "любая программа содержит минимум одну ошибку" то компилятор который отказывается компилить ЛЮБУЮ программу - будет само то.

Reply to
Arcady Schekochikhin

Привет Yuriy!

04 Oct 06 00:22, Yuriy K писал Dmitry E. Oboukhov:

DEO>> ifdef замененный на if позволяет ошибки видеть на этапе DEO>> компиляции сразу для всех платформ

YK> Ошибки этапа компиляции перестают волновать на втором-третьем году YK> практического программирования.

А на потом выяснится, что давно сданный в архив код не компилируется для варианта конфигурации устройства, который только что заказали. И разработчик давно уволился... :)

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Даже лошадь Пржевальского может быть собакой Павлова.

Reply to
Alex Mogilnikov

Привет, Yuriy !

04 Oct 06 , 00:22 Yuriy K писал к Dmitry E. Oboukhov:

YK> Где бы взять такой компилятор, который сразу все логические ошибки YK> показывает на этапе компиляции? Будет не программирование, а одно YK> удовольствие. :-))

_О_камл и хаскель? :)

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Моноглот и библиофоб

Reply to
Nickita A Startcev

Wed Oct 04 2006 10:59, Arcady Schekochikhin wrote to Yuriy K:

AS> Если верно что "любая программа содержит минимум одну ошибку" то AS> компилятор который отказывается компилить ЛЮБУЮ программу - будет само AS> то.

Hе будет. Hадо не просто отказываться компилировать, но еще показывать где именно ошибка.

"Resistance is futile"

Reply to
Yuriy K

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.