Alexey
Да, патчися и все опции открываются.
Никита
ㅤ
Да, патчися и все опции открываются.
Вообще удивлен что они допускают такие косяки. Тоже недавно приобрел генератор utg932e. Путем патча флешки от из 30 мгц генератора превратился в 60 мгц. Правда мне это нахуй не надо, но удивляюсь что они для технарей допускают такие простые хаки
Alexey
я и генератор Siglent SDG2042X патчил до 120МГц, и анализатор спектра Siglent SSA3021X-Plus от 2,1 ГГц до 3.2ГГц, и осциллографы Ригол. Вроде не очень то и надо. Мелочь, а приятно...
кстати на озоне до сих пор есть в наличии MSO5072(75тр) и MSO5074(81тр).
Игорь
1054z покупал в Китае сразу с открытыми доп. функциями, за 25. А такой же для конторы в России, за 37, за функции пришлось доплачивать.
Andrey
ㅤ
Null
Сложности подключения SD карты к ESP8266 / Хабр
https://habr.com/ru/post/677698/
Сергей
Сергей
поздравьте меня)
ㅤ
Сергей
С чем?
мое первое моргание светодиодом через вебморду
Сергей
ㅤ
Тогда поздравьте меня с этим
Sid
ㅤ
👏
Спасибо. А номинантам на премию надо самим оплачивать перелет?
Леонид
привет, народ.
есть вот такой вопрос. почему ругается компилятор? и как это исправить?
есть структура (в main.cpp)
struct data_data {
uint8_t value = 100;
} data_info;
хочу передать указатель на нее в функцию (функция находится в service.cpp и объявлена в service.h)
void function(struct data_data* data, uint8_t* digits) {
data->value;
}
компилятор ругается на data->value
error: invalid use of incomplete type 'struct data_data'
признаюсь в указателях я очень путаюсь
ㅤ
Леонид
romanetz
потому что
void function(struct data_info* data, uint8_t* digits) {
data->value;
}
romanetz
typedef struct data_data {
uint8_t value = 100;
} data_info;
void function(data_info* data, uint8_t* digits) {
data->value;
}
romanetz
ㅤ
romanetz
а, ещё
romanetz
typedef struct data_data {
uint8_t value
} data_info;
data_info v={.value=100};
void function(data_info* data, uint8_t* digits) {
data->value;
}
romanetz
так точно заработает
Леонид
нет, господа, не заработало. если это сильно важно то это не есп. пытаюсь это пропихнуть в стм32 кубиде. но что-то мне подсказывает что это не особо важно
Demondor
Как-то сложно структура, ради одной переменной.
Леонид
Demondor
Попробуй сделать все в одном файле, сначала. Когда заработает раскидаешь на остальные.
Леонид
Demondor
Метод перебора самый надёжный, можно тупить, но победить усердием, потом просто запомнить, как аксиому.
romanetz
в заголовочнике объявляешь тип
в одном сишном исходнике - саму переменную
во всех остальных - extern эту же переменную
romanetz
фсё )
Леонид
Demondor
Здается мне ошибка в связке файлов, плюс волшебное слово extern.
romanetz
а эффективность стремится к нулю
Demondor
romanetz
Леонид
буду пробовать, пасибо
Demondor
а эффективность стремится к нулю
Это называется опыт, все должны испытать мы указываем путь, а не решаем задачу за других, а написав 1000 раз слово правильно, ребенок его запомнит.
Леонид
мне тоже кажется что компилятор не понимает откуда в передаваемой ссылке на структуру сидит value
romanetz
romanetz
прокладку надо поменять
romanetz
см. выше
romanetz
Demondor
А что компилятор стихами изложен?
Леонид
если вставить в main.cpp
void function(struct data_data* data, uint8_t* digits);
void function(struct data_data* data, uint8_t* digits) {
digits[1] = data->value;
}
то ругани нет
Леонид
подскажите как написать extern?
Леонид
и так и эдак пробую а он матюкается(
romanetz
да вон как я выше написао
romanetz
написал
Леонид
а можно не переменную а структуру сразу extern объявить?
Demondor
extern, это когда переменная объявлена в другом файле, компилятор старенький, тупой о ней ничего не знает и ему надо подсказывать объявлять ее с этим волшебным словом в используемом файле ещё раз, без начального значения.
Леонид
я знаю
romanetz
typedef struct как раз структурный тип и объявляет
Леонид
но со структурой это не работает, либо я не так объявляю
Леонид
extern typedef struct data_data
Demondor
Дичь 40 лет прошло в c# убрали все заморочки, но добавили кучу абстракций, а тут ничего не изменили.
romanetz
🤦♂️ facepalm
нет, facewall
romanetz
romanetz
1.h:
typedef struct data_data {
uint8_t value
} data_info;
1.c:
#include "1.h"
data_info v={.value=100};
void function(data_info* data, uint8_t* digits) {
data->value;
}
2.c
#include "1.h"
extern data_info v;
void bar(data_info* data, uint8_t* digits) {
data->value;
}
ㅤ
Леонид
ㅤ
Или вам добавили вообще val и похуй что ты туда назначишь. Ну да
ㅤ
20 ошибок
Да выложи сюда нахуй свой код целиком через пастебин и поглядим. Что за рандом
Demondor
Причём тут си решетка?
При том, что там extern нет и указателей. Vs развивается и намного удобнее. Надо алгоритмы писать, а не разбирается с дичью, как лучше передать переменные в функцию. Что мешает это изменить в си кроме дебилизма и ах так принято. Нейросети вся фигня, а толку как прогали 40 лет назад, так до сих пор и ... с одними и теми же вопросами.
ㅤ
ㅤ
На пересдачу
romanetz
Demondor
Там это словом ref решается, без разименований и ссылок.
ㅤ