-
- Я использую для вывода голоса ещё более страшную штуку. Вроде printf, но каждый "символ" -- это отдельный АРГУМЕНТ: либо сообщение (голосом), либо формат, за которым отдельным аргументом следуют "параметры". Соответственно аргументов у функции может fk0(200 знак., 18.04.2010 23:50)
- Даешь пример - MJ_nopsw(27.04.2010 00:53, )
- см, тут. fk0(371 знак., 27.04.2010 11:42)
- Даешь пример - MJ_nopsw(27.04.2010 00:53, )
- Жизнь показывает, что printf() - это хорошо. Если надо будет сделать что-то в духе printf() - колебаться не буду. Ну а других применений из своего опыта не вижу. - SciFi(17.04.2010 04:12)
- Как менее опасную альтернативу, и без накладных расходов использую функции с дефолтными значениями. Даже удобнее - можно написать func(12,"abc",,0,2) - maik_vs(16.04.2010 18:48, )
- к сожалению, функции с дефолтными значениями поддерживаются не везде - koyodza(16.04.2010 18:50)
- printf() опасаетесь? - ++(16.04.2010 18:13)
- Нормально. Функции как функции. Ну, а программировать вообще не безопасно. - BK(16.04.2010 17:56, )
- Это всего лишь альтернатива массиву (небольшому, как правило) из методов с фиксированным количеством параметров. Требует на мой взгляд аккуратности со стороны программиста, не более. Добавляет накладные расходы на идентификацию параметров. Создает Хитрый китаец(26 знак., 16.04.2010 14:49, )
- Какие накладные расходы, вы о чем? Разбор полностью аналогичен тому, когда параметры передаются в функцию через стек. И это не альтернатива. Просто надоело сущности множить. Alex B.(468 знак., 16.04.2010 15:49)
- Это дело вкуса и личных предпочтений разбиения ПО на модули: писать LedCommand( 3,2,1 ), UartCommand( 10 ) или per_command( .. ), внутри которого switch(), внутри которого разбираются параметры. Я это имею в виду под накладными расходами, может они Хитрый китаец(25 знак., 17.04.2010 00:45, )
- А кто будет отслеживать кол-во переданных параметров? Рантайм? Не гуд. У меня это просто LED(9,4,5,10) и UART(10). У Вас константы, у меня макросы. Но с проверкой на этапе компиляции. - Скрипач(16.04.2010 16:41)
- Профессионалы не используют функцию с переменным числом аргументов, не используют библиотечных функций, не используют C99, zero size arrays, макросы с переменным числом аргументов тоже не используют, ну и конечно goto и longjmp тоже не использют. А fk0(73 знак., 16.04.2010 16:31)
- С99 чем не угодил? - koyodza(16.04.2010 16:50)
- Да это ж поделка финских студентов! - fk0(16.04.2010 17:27)
- Я думаю, это во всяком случае лучше, чем поделки русских студентов. - BK(16.04.2010 17:59, )
- Да это ж поделка финских студентов! - fk0(16.04.2010 17:27)
- А я вот тут сижу, никого не трогаю, floatы тут перемножаю -- быстрей чем long получается. - fk0(16.04.2010 16:32)
- ...float-ы в обработчиках прерваний...:) - Vit(16.04.2010 16:46)
- нет. хотя никто и не мешает. - fk0(16.04.2010 17:26)
- ...float-ы в обработчиках прерваний...:) - Vit(16.04.2010 16:46)
- С99 чем не угодил? - koyodza(16.04.2010 16:50)
- Какие накладные расходы, вы о чем? Разбор полностью аналогичен тому, когда параметры передаются в функцию через стек. И это не альтернатива. Просто надоело сущности множить. Alex B.(468 знак., 16.04.2010 15:49)
- хочется, но колется. - bialix(16.04.2010 11:56)
- printf использую. Больше нигде пока не нужно было. - Cepгeй Бopщ(15.04.2010 20:43)
- +1. В том числе для персоналки (DOS, Win, Linux) - Скрипач(15.04.2010 22:02)
- использовал в последнем проекте. Работа с указателями тоже не безопасна, а что делать :-) - abivan(15.04.2010 19:41)
- почти как к goto и матерным словам ;=) - koyodza(15.04.2010 19:17)
- Я использую для вывода голоса ещё более страшную штуку. Вроде printf, но каждый "символ" -- это отдельный АРГУМЕНТ: либо сообщение (голосом), либо формат, за которым отдельным аргументом следуют "параметры". Соответственно аргументов у функции может fk0(200 знак., 18.04.2010 23:50)