| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Ограничение в броя аргументи на функция http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=8262 |
Страница 1 от 1 |
| Автор: | marcuka68 [ Сря Ное 03, 2010 3:12 pm ] |
| Заглавие: | Ограничение в броя аргументи на функция |
Здравейте, трябва да нагаждам чужд сорс код, написан на си (компилаторът е Image craft). функцията беше с доста променливи от тип статик и четеше данни от единствения подаден параметър. Сега се налага да викам същата функция, но параметърът е друг. Като викам двете функции една след друга, нещата се омазват, щото статик променливите си пазят нужната на другата функция стойност. Единственото според мен разумно решение, е да се махнат статик променливите и тези променливи да ги подавам, като параметър за всяка от двете функции. Параметрите стават доста - около 10, можете ли да ми кажете, това нещо лошо ли е и до колко |
|
| Автор: | zaphod [ Чет Ное 04, 2010 8:49 am ] |
| Заглавие: | |
по-добре направи една структура, инстанцирай я два пъти (за всяка функция) и подавай указател към нея като аргумент. |
|
| Автор: | marcuka68 [ Чет Ное 04, 2010 12:14 pm ] | ||
| Заглавие: | |||
Благодаря за съвета! На мен сутринта ми хрумна и друга идея. Функцията си остава със старите статик променливи и се добавя втори параметър към нея - флаг, който се сваля, когато фунцията завърши, след многократното си извикване. В основната функция, ще се следят тези флагове. Кодът, за сега, е нещо подобно на прикачения
|
|||
| Автор: | marcuka68 [ Чет Ное 04, 2010 12:16 pm ] |
| Заглавие: | |
Не знам мога ли да си преправя мнението, ама сега гледам, че в сорса винаги се вика само f1(), няма f2() |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|