|
Индусский код, много букв |
|
|
|
Nov 7 2017, 12:05
|

Профессионал
    
Группа: Свой
Сообщений: 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 Гб озу с закрытыми приложениями. А потом начинаются срачи на темы, типа "Почему до сих пор все сидят на древних языках вроде С и С++", и что с++ говноязык, а жава тру!!!
|
|
|
|
|
 |
Ответов
|
Nov 7 2017, 13:38
|

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

|
Цитата(iosifk @ Nov 7 2017, 14:11)  Почему Вы считаете, что кто-то будет выкладывать полностью рабочий код "за просто так"? Ну выкладывают же. linux, gcc, много опенсорса. Например, чтоб продвигать технологию и продавать железо. Но врятли авторы этого кода хотели увеличить объем продаж микросхем Лора. А зачем выкладывать такой код? Хочешь заработать на коде - пиши закрытый код. Хочешь заработать на построении системы сбора данных - занимайся разработкой системы под ключ используя дешевые чипы и самописный рабочий код. Не очень понятно, зачем такие статьи, если там умышленно предлагается использовать нерабочий код?
|
|
|
|
|
Nov 7 2017, 13:53
|

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

|
Цитата(AlexandrY @ Nov 7 2017, 18:51)  Вы пока не доказали, что код нерабочий. Это рабочий код чтоли? Код sprintf(str2,"%df",precission); //ошибка asprintf(&str3,"%s%s",str1,str2); //утечка памяти sprintf(message,str3,f); //ошибка
|
|
|
|
|
Nov 7 2017, 14:03
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(juvf @ Nov 7 2017, 15:53)  Это рабочий код чтоли? Код sprintf(str2,"%df",precission); //ошибка asprintf(&str3,"%s%s",str1,str2); //утечка памяти sprintf(message,str3,f); //ошибка Это код ни о чем. Может быть макрос, может переопределение, может либа специальная. Какие ваши доказательства? ©
|
|
|
|
|
Nov 7 2017, 14:36
|

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

|
Цитата(AlexandrY @ Nov 7 2017, 19:03)  Это код ни о чем. Может быть макрос, может переопределение, может либа специальная. Какие ваши доказательства? © Доказательства ссылка на гитхаб. Нет там макрасов и переопределений, нет там специальных либ. sprintf и asprintf из состава stdio.h gcc из коробки. Цитата в данном случае авторами могут быть .... школьники. Им дали "попробовать", вот они и выложили результат. с этим соглашусь, вполне возможно это поделки школоты. Но врятли школота будет писать в сырцах Цитата /* * Copyright © 2012 Libelium Comunicaciones Distribuidas S.L. * http://www.libelium.com
|
|
|
|
|
Nov 7 2017, 14:54
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(juvf @ Nov 7 2017, 17:36)  с этим соглашусь, вполне возможно это поделки школоты. Но врятли школота будет писать в сырцах Тут есть еще один фактор. Первым через Ламанш перелетел Блерио. https://ru.wikipedia.org/wiki/%D0%91%D0%BB%...%9B%D1%83%D0%B8А второго никто не помнит. Если есть ниша не рынке, то ее надо "засветить" и занять как можно раньше. Для этого годятся даже "полуфабрикаты". Так же, как и бесплатные Бета-версии продуктов. Вот купил я себе сетевой винчестр WD "белое облако". Один раз сдал в обмен железо, пару раз переустановил софт. И вот теперь работает нормально... Ну а Либериум? Ну и что? Вот у нас в Питере "Метротек" и они набирают студентов и обучают их Верилогу и микроконтроллерам. Чтобы потом взять их на работу. Вполне возможно, что и у Либериума что-то похожее на это. Да, фирма получает "почти работающий код", который не жалко выложить. И под это получить первые контакты с клиентами и первые заказы. Будут заказы - будет и доработка кода до рабочего. Не будет заказов - займутся другим направлением. А чисто по жизни... Не нравится, как пишут индусы? Ну так сами напишите статью - "как я разбирался с индусским кодом"...Или то, что считаете наиболее интересным. Если получится, то мы напечатаем. Сами же наши инженеры ленивые, потому и статей русскоязычных мало.
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Nov 7 2017, 15:12
|

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

|
Цитата(iosifk @ Nov 7 2017, 19:54)  Тут есть еще один фактор. я вашу точку зрения понял. не соглашусь с ней. Можно написать демо-код и опубликовать результат. показать возможность этой системы. всё дёшево и сердито. Для непосвещённых это выглядит круто: на проводках скрестил малину с рфм95 и закинул в дропбокс за 15 баксов сделал шлюз, за 5 баксов конечное устройство. Даже сайт писать не нужно. С любой точки мира можно графики температуры смотреть. Если кому-то это нужно будет - будут заказы. но писать такое и публиковать: Код char * str2; sprintf(str2,"%df",precission); эээээ.... ну хочешь продать себя как программиста - покажи результат, результат достаточно крутой. Хочешь продать систему - покажи результат. Ну такую лажу в сырцах зачем публиковать? Чтоб работодатель посмотрел исходник и оценил тебя как говнопрограммиста? Цитата Первым через Ламанш перелетел Блерио. А второго никто не помнит. не аргумент. первым (мс-)дос написал Тимом Патерсоном. Его ни кто не помнит. Зато Бил Гейтса и MS-DOS все знают. Цитата MS-DOS является переименованной версией 86-DOS, написанной Тимом Патерсоном
|
|
|
|
Сообщений в этой теме
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       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 juvf ЦитатаНасчет printf: как по мне, так использование... Nov 9 2017, 04:23 Эдди Ой, про абдуринщиков вообще не надо. У них из 10 ... Nov 9 2017, 05:35
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|