170 похожих чатов

Есть сишный .h файл, функцию которй нужно имплементировать на с++. Выглядит

вот так:
// Defined in libhal_protected_CM4_GCC.a
void get_id(uint8_t id_buff[8]);

Сама функция имплементирована в скомпилированной библиотеке.

Как на плюсах её имплементировать? Я пробовал
void get_id(uint8_t id_buff[8]) {}
с результатом
libfirmware.so: undefined reference to `get_id'

17 ответов

21 просмотр

extern "C" в .cpp

Иван-Степанов Автор вопроса
Alexander Karaev
extern "C" в .cpp

А если я в ней плюсовые захочу использовать функции?

Иван-Степанов Автор вопроса
Alexander Karaev
Используй на здоровье

О, круто, разрешилась проблема. Я думал extern C не даст плюсовые использовать этого

Иван Степанов
О, круто, разрешилась проблема. Я думал extern C н...

extern "C" исключительно про магнлинг. Использовать C++ типы в сигнатуре не даст, конечно, а в теле - можно

Иван-Степанов Автор вопроса
Alexander Karaev
extern "C" в .cpp

Так, теперь у меня /usr/bin/ld: CMakeFiles/FirmwareEmulator.dir/src/main.cpp.o: in function `tbb::interface7::task_arena::current_thread_index()': /usr/include/tbb/task_arena.h:449: undefined reference to `tbb::interface7::internal::task_arena_base::internal_current_slot()' Я без понятия, откуда tbb взялся. Интеловского tbb в коде нет 100%

Иван-Степанов Автор вопроса
std::slavik
так путь же указан

а как отследить, кто этот хедер включает? Я просто щас эмулирую прошивку, которая ну вот прям никак не может быть завязана на этом

main.cpp

ну там может внутри другого хедера

Блин. Я об этом сразу как-то не подумал

Иван-Степанов Автор вопроса
std::slavik
find usages

не находит, остановился на tbb/partitioner.h

Иван Степанов
не находит, остановился на tbb/partitioner.h

ну теперь ищите кто использует этот хедер

Иван-Степанов Автор вопроса
std::slavik
ну теперь ищите кто использует этот хедер

Бинго 1. Редактируешь непонятный заголовок 2. Добавляешь #error иже еси на небеси 3. Компилируешь ... 4. Получаешь стек!!!

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта