math library development, ChiP, 17-Янв-04, 01:12 [смотреть все]Доброго времени суток, сообщество!В ближайшее время планируется перенос "приложения", написанного на QBasic'e, на *nix платформу. Приложение в кавычках, потому что это не полноценное приложение, а скорее набор функций для расчета термодинамических свойств веществ, причем в нем очень активно используются глобальные переменные (т.е. фактически даже не полноценные функции :). Использование глобальных переменных связано с большим количеством расчитываемых параметров, приблизительно 7-мь характиристик для одного вещества (а веществ как минимум 3-и). Другими словами без них бы функция принимала уйму переменных. Т.к. я планирую реализовать это в качестве отдельной "красивой" библиотеки (на Си) возникает вопрос - а как разобраться с такой кучей параметров ?! Безусловно, у меня есть идеи, но хотелось бы услышать вашу точку зрения на этот вопрос.
|
- math library development, SnaiL, 03:57 , 17-Янв-04 (1)
Не мучай голову, реализуй так:/** * Basic termo dynamic object */ class TermoDynamicObject { public: ... // а тут набор твоих методов, работающих со свойствами protected: SvoistvoType svoistvo1, svoistvo2, ... ; }; или в си так: struct termo_dynamic_object { SvoistvoType svoistvo1, svoistvo2, ... ; }; /* и тут список твоих методов */ ret_type method1(termo_dynamic_object *tmo, ...) { ... }
- math library development, ChiP, 01:36 , 19-Янв-04 (4)
>struct termo_dynamic_object >{ > SvoistvoType svoistvo1, svoistvo2, ... ; >}; > >/* и тут список твоих методов */ > >ret_type method1(termo_dynamic_object *tmo, ...) >{ > ... >} приблизительно я так и собирался :) с variadic функциями и структурами. Спасибо!
- math library development, anonim, 17:57 , 17-Янв-04 (2)
>Доброго времени суток, сообщество! > >В ближайшее время планируется перенос "приложения", написанного на QBasic'e, на *nix платформу. >Приложение в кавычках, потому что это не полноценное приложение, а скорее >набор функций для расчета термодинамических свойств веществ, причем в нем очень >активно используются глобальные переменные (т.е. фактически даже не полноценные функции :). > >Т.к. я планирую реализовать это в качестве отдельной "красивой" библиотеки (на >Си) возникает вопрос - а как разобраться с такой кучей параметров >?! Это скорее будет не перенос, а полное переписывание. А что бы разобраться прийдется понять всю математику, по другому написаный таким способом код не поймешь. Разбираться в чужих прогах написаных с применением глобальных переменных удовольствие ниже среднего и занимает много времени. Если прога большая и уже работает, то намного проще будет найти бейсик под линукс, а если нужно будет "расширить " возможности то написать прогу которая будет забускайть старую прогу, передавать ей данные и читай ее вывод.
- math library development, ChiP, 01:39 , 19-Янв-04 (5)
>Это скорее будет не перенос, а полное переписывание. А что бы разобраться >прийдется понять всю математику, по другому написаный таким способом код не >поймешь. безусловно. > Разбираться в чужих прогах написаных с применением глобальных переменных удовольствие >ниже среднего и занимает много времени. >Если прога большая и уже работает, то намного проще будет найти бейсик >под линукс, а если нужно будет "расширить " возможности то написать >прогу которая будет забускайть старую прогу, передавать ей данные и >читай ее вывод. к сожалению данный вариант не примлем. Мне дальше ее сопровождать и расширять :) Лучше уж я один раз вникну во всю эту байду, чем каждый раз буду проклинать себя, что не принял правильного решения несколько месяцев/лет назад :) Но тем не менее спасибо, за вариант решения.
- math library development, sas, 18:59 , 17-Янв-04 (3)
>Доброго времени суток, сообщество! > >В ближайшее время планируется перенос "приложения", написанного на QBasic'e, на *nix платформу. >Приложение в кавычках, потому что это не полноценное приложение, а скорее >набор функций для расчета термодинамических свойств веществ, причем в нем очень >активно используются глобальные переменные (т.е. фактически даже не полноценные функции :). > > >Использование глобальных переменных связано с большим количеством расчитываемых параметров, приблизительно 7-мь характиристик >для одного вещества (а веществ как минимум 3-и). Другими словами без >них бы функция принимала уйму переменных. > >Т.к. я планирую реализовать это в качестве отдельной "красивой" библиотеки (на >Си) возникает вопрос - а как разобраться с такой кучей параметров >?! > >Безусловно, у меня есть идеи, но хотелось бы услышать вашу точку зрения >на этот вопрос. Есть такая штука, правда я ее не пробовал... Может быть поможет http://linux.maruhn.com/sec/qb2c.html Успехов --- sas
- math library development, ChiP, 01:41 , 19-Янв-04 (6)
>Есть такая штука, правда я ее не пробовал... Может быть поможет >http://linux.maruhn.com/sec/qb2c.html > >Успехов >--- sas спасибо. Однако, применять не буду :) А то корявость программы повысится в 2-а раза ;-) и больше в ней точно никто не разберется. ps: тема закрыта - решение struct's & variadic функции.
|