реклама на сайте
подробности

 
 
> Индусский код, много букв
juvf
сообщение Nov 7 2017, 12:05
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Вброс .... на вентелятор.
Столкнулся с одним кодом.... предлагается в 5 шагов поднять обмен по LoRa чуть-ли не с нулевым порогом вхождения в программирование... есть проект LowCostLoRaGw.

Конечно всё шоколадно. На проводочках ардуино+рфм95 и распбери+рфм95, по 5 шагов и вот тебе готовая система сбора данных. На базе Sx1272.cpp даже есть библа для абдурино ардуино.

Решил велосипед не изобретать и портировать этот код себе, благо дело сырци есть. Компилятор дал тонну ворнингов. Я уже молчу за такой код
Код
bool SerialPi::find(const char *target){
    findUntil(target,NULL);
}
я уже молча испоравляю ворнинги где int сравнивается с unsigned int. Но не удержаляся после подобнойго кода (благо дело ворнинг показал)
Код
/* Prints data to the serial port as human-readable ASCII text followed
* by a carriage retrun character '\r' and a newline character '\n' */
void SerialPi::println(float f, int precission){
    const char *str1="%.";
    char * str2;
    char * str3;
    char * message;
    sprintf(str2,"%df",precission);             //ошибка
    asprintf(&str3,"%s%s",str1,str2);               //утечка памяти
    sprintf(message,str3,f);                     //ошибка

    const char *newline="\r\n";
    char * msg = NULL;
    asprintf(&msg,"%s%s",message,newline);              //утечка памяти
    unistd::write(sd,msg,strlen(msg));
}

Всё это великолепие есть тут
автор проекта какой-то индус CongDuc Pham
автор этого кода, судя по коментам в файле arduPi_pi2.cpp некая Libelium Comunicaciones Distribuidas

на сайте Libelium чего только нет. И для автомобилей что-то делают, и для сетей, и для МЕДИЦИНЫ!!! И такой говнокод пишут. УЖАС!!!

Весь arduPi_pi2.cpp исчерпан вызовами asprintf() и ни разу нет вызова free(). Конечно без free такой код будет работать, за каждый вызов будет утекать несколько байт памяти. Но сколько времени непрерывно проработает такой шлюз? неделю? Месяц? Год? Не удевляюсь, почему винда, после недели непрерывной работы начинает тормозить и съедает 8 Гб озу с закрытыми приложениями. А потом начинаются срачи на темы, типа "Почему до сих пор все сидят на древних языках вроде С и С++", и что с++ говноязык, а жава тру!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
juvf
сообщение Nov 9 2017, 04:23
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата
Насчет printf: как по мне, так использование такой жути, как printf, malloc и т.п. оправдано лишь в "жирных" микроконтроллерах.
Этот пример для малины и линукса. Это как раз "жирный" процессор.

Цитата
В данном примере написан демо-код, его единственная цель - залить и проверить
Не совсем так. Есть мануалы, как в 5 шагов развернуть Lora шлюз и end-point устройства используя библиотеку SX1272, и как построить систему мониторинга температуры в инете. Рассчитан на "не грамотных африканцев", как можно недорого развернуть мониторинг с минимальными знаниями.

если вы сделаете демокод хеловорд, вы его сделаете ребочим, врят ли вы его напишите так

Код
#include <stdio.h>
int main()
{
char *str;
sprintf(str, "Hello world!")
printf(str);
return 0;
}


Более того... пусть даже это не релиз... а демонстрашка.... библиотеку SX1272 можно использоваьт и на малине, и на ардуино и в МК. Демонстрашка так же демонстрирует, как на ардуино легко создать шлюз/устройство, используя класс SX1272. Программист "Программист" ардуино запускает Arduino IDE, лезет в меню Sketch->Include Library->SX1272 и подключает эту библиотеку. Дальше создает объект SX1272, инитит, конфигурирует, и вызывает у него какие-то методы. Он не полезит дебажить саму библиотеку, тем более если кто-то программит "кубиками". А в библиотеке SX1272 баги. Зависнет ваш код в ардуино.... а в ардуино даже дебага нет. Будет в своих 3-х строчках искать ошибку, а она глубоко в подключённой либе.

Да и на C/С++ в линуксе.... подрубают готовую библиотеку SX1272 и используют её.... также как и wiringpi, stdio, как и всякие Qt и т.п.


Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- juvf   Индусский код   Nov 7 2017, 12:05
- - iosifk   Цитата(juvf @ Nov 7 2017, 15:05) Вброс .....   Nov 7 2017, 13:11
- - AlexandrY   Цитата(juvf @ Nov 7 2017, 14:05) Всё это ...   Nov 7 2017, 13:37
|- - Эдди   Цитата(AlexandrY @ Nov 7 2017, 16:37) Для...   Nov 7 2017, 20:10
|- - mantech   Цитата(Эдди @ Nov 7 2017, 23:10) К сожале...   Nov 8 2017, 17:46
- - juvf   Цитата(iosifk @ Nov 7 2017, 14:11) Почему...   Nov 7 2017, 13:38
|- - AlexandrY   Цитата(juvf @ Nov 7 2017, 15:38) умышленн...   Nov 7 2017, 13:51
||- - juvf   Цитата(AlexandrY @ Nov 7 2017, 18:51) Вы ...   Nov 7 2017, 13:53
||- - AlexandrY   Цитата(juvf @ Nov 7 2017, 15:53) Это рабо...   Nov 7 2017, 14:03
||- - juvf   Цитата(AlexandrY @ Nov 7 2017, 19:03) Это...   Nov 7 2017, 14:36
||- - iosifk   Цитата(juvf @ Nov 7 2017, 17:36) с этим с...   Nov 7 2017, 14:54
||- - juvf   Цитата(iosifk @ Nov 7 2017, 19:54) Тут ес...   Nov 7 2017, 15:12
||- - iosifk   Цитата(juvf @ Nov 7 2017, 18:12) я вашу т...   Nov 7 2017, 15:24
|- - iosifk   Цитата(juvf @ Nov 7 2017, 16:38) Ну выкла...   Nov 7 2017, 14:09
- - kolobok0   Цитата(juvf @ Nov 7 2017, 15:05) Вброс .....   Nov 7 2017, 18:24
- - x893   CongDuc Pham может он и индус, но работает во Фран...   Nov 7 2017, 20:27
- - Эдди   Ой, про абдуринщиков вообще не надо. У них из 10 ...   Nov 9 2017, 05:35


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 11:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.02208 секунд с 7
ELECTRONIX ©2004-2016