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

 
 
> Совместное использование *.сpp файлов и *.c, Не компилируются совместно файлы Си и Си++
kolobochishe
сообщение Jun 9 2011, 07:22
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



Вот такая ошибка при вызове функции написанной в *.cpp файле из *.с файла

Linking
Error[Li005]: no definition for "plot_spectrum" [referenced from C:\ÐÀÁÎÒÀ\ÐÀÇÐÀÁÎÒÊÈ\ÏÐÎÅÊÒÛ\ÄÐÀÊÎÍ\Ðåãèñòðàòîðû\Ïðîøèâêà\
LPC3250 GUI_RTOS\arm\PowerPac\BoardSupport\NXP\LPC3250\Output\LPC3250\Debug_SDRAM\Obj\DRAGON_BS1_GUI.o]
Error while running Linker

Функция объявлена в соответствующем *.h файле. Он подключен везде, где требуется.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dxp
сообщение Jun 27 2011, 06:57
Сообщение #2


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(inventor @ Jun 24 2011, 22:50) *
Не было времени сегодня искать пример,
щас попробую его описать.
Процессор работает на чатоте 14 Мгц
обменивается с другим процом на частоте 1Мгц.
На асме около 70 строк кода обработчика прерывания.
На С примерно в два раза больше.
Программа на С работает на пределе.
Но не сбоит.
Даже не представляю как это будет работать на С++.
Да...вся программа умещается во внутренней памяти DSP.

И где тут пример? Привели какие-то общие фразы, дескать, тут быстрее, тут медленее, а С++ тут вообще в пролёте. Где аргументы? Где доказательства? Реальный пример давайте. Например, вот написали протокол обмена по UART на С++, оказалось в два раза медленнее, чем на С. Вот и давайте оба варианта (на С и на С++) в студию. Это будет пример, который можно обсуждать.

Цитата(zltigo @ Jun 26 2011, 01:53) *
Вы опять с этим Александреску с его обобщенно-шаблонно-абстрактным программированием sad.gif.
Нам такие товарищи эмбеддерам совсем НЕ товарищи.


Цитата(zltigo @ Jun 26 2011, 15:26) *
Подход а-ля Александреску характерен для научных работ - давайте на бумаге/модели получим, хоть какой-то результат и потом подумаем, что дальше делать. У инженеров в сложных случаях тоже есть понятие НИОКР, но это именно заранее запланированный этап.

Насчёт Александреску вынужден не согласиться. У него показаны приёмы, как сделать написание кода более удобным и безопасным. Это, конечно, требует труда вникать (например, списки типов я так до конца и не вкурил - хоть и интересно, но актуальности пока нет и не предвидится, хотя имею в виду). Но у него помимо "тяжёлых" вещей вроде разработки на основе стратегий, немало просто полезных фишек вроде "распознавания конвертируемости и наследования на этапе компиляции". Конечно, подобные приёмы возникли от недостатка соответствующих средств в самом языке, но само решение очень красиво и, главное, в отличие от typeof(), выполняется на этапе компиляции. Или его менеджер памяти, который оптимизирован (скорость и компактность) для работы небольшими (десятки байт) объектами. Для AVR, конечно, не пойдёт, но на каком-нить АРМе уже вполне может оказаться кстати.

Вообще, Александреску представляет очень интересный взгляд на хорошо известные штатные языковые средства, и взгляд этот у него очень нестандартен. Даже если не подсаживаться на эти приёмы, поизучать (даже просто прочитать на разок) оказывается очень нелишним. Достойное чтиво и неплохая разминка для мозгов.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 27 2011, 08:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (dxp @ Jun 27 2011, 08:57) *
Насчёт Александреску вынужден не согласиться......

Я не об этом - он реально занимается решением ДРУГИХ задач и выхватывать из его книг какие-то слова, например, о вреде преждевременной оптимизации и поминать их всуе, как минимум, не корректно.
QUOTE (MrYuran @ Jun 27 2011, 08:43) *
Вот нашёл, цитата из книги:

Золотые слова - подпишусь под каждым. Только вот К ЖУТЧАЙШЕМУ моему сожалению толпы эмбеддерщиков об оптимизации на верхних уровнях думают с трудом sad.gif. Зато по рассуждать о том что на десяти командах они на АSM обгонят компилятор это всегда готовы sad.gif. А услышав слова о вреде преждевременной оптимизации поснимают галочки где-нибудь в IDE и скажут, что Александреску с Макконнелом так велят sad.gif.
Умение оптимизировать на верхних уровнях определяется в том числе и инструментальными средствами которые человек освоил. Одно дело, когда человек пошел от сохи железа и постиг программирование в кодах (на самом деле он считает, что пишет, на ASM, но реально это настолько минималистичное использование даже ASM, что это практически кодирование sad.gif). Другое, когда уже понимает и имеет успешный опыт, например, в C++. Это другие горизонты, другое понимание и другие возможности.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- kolobochishe   Совместное использование *.сpp файлов и *.c   Jun 9 2011, 07:22
- - MrYuran   В хедерах си-шных модулей надо вставить скобки Код...   Jun 9 2011, 07:43
|- - sergeeff   Проще прямо написать Код#ifdef __cplusplus extern ...   Jun 9 2011, 07:46
- - kolobochishe   Цитата(MrYuran @ Jun 9 2011, 12:43) В хед...   Jun 9 2011, 08:05
|- - mdmitry   Цитата(kolobochishe @ Jun 9 2011, 12:05) ...   Jun 9 2011, 09:47
|- - inventor   Цитата(mdmitry @ Jun 9 2011, 13:47) Можно...   Jun 16 2011, 18:24
|- - sergeeff   Цитата(inventor @ Jun 16 2011, 22:24) в п...   Jun 17 2011, 10:24
|- - zltigo   QUOTE (sergeeff @ Jun 17 2011, 13:24) про...   Jun 17 2011, 12:54
|- - sergeeff   Цитата(zltigo @ Jun 17 2011, 16:54) С и С...   Jun 17 2011, 13:20
|- - zltigo   QUOTE (sergeeff @ Jun 17 2011, 16:20) Хот...   Jun 17 2011, 13:33
|- - Сергей Борщ   QUOTE (sergeeff @ Jun 17 2011, 16:20) Хот...   Jun 17 2011, 13:40
||- - zltigo   QUOTE (Сергей Борщ @ Jun 17 2011, 16:40) ...   Jun 17 2011, 13:59
||- - dxp   Цитата(Сергей Борщ @ Jun 17 2011, 20:40) ...   Jun 17 2011, 14:09
|- - Danis   Цитата(sergeeff @ Jun 17 2011, 16:20) Хот...   Jun 17 2011, 13:57
- - sonycman   А наоборот может быть - ошибка при вызове из си++ ...   Jun 18 2011, 09:38
|- - sergeeff   Цитата(sonycman @ Jun 18 2011, 12:38) А н...   Jun 18 2011, 13:51
|- - sonycman   Цитата(sergeeff @ Jun 18 2011, 17:51) Вы ...   Jun 19 2011, 17:36
|- - AHTOXA   Цитата(sonycman @ Jun 19 2011, 23:36) Но ...   Jun 19 2011, 18:04
|- - sonycman   Цитата(AHTOXA @ Jun 19 2011, 22:04) Именн...   Jun 19 2011, 19:14
|- - sergeeff   Цитата(sonycman @ Jun 19 2011, 22:14) Пон...   Jun 19 2011, 20:30
|- - sonycman   Цитата(sergeeff @ Jun 20 2011, 00:30) А э...   Jun 19 2011, 21:17
|- - dxp   Цитата(sonycman @ Jun 20 2011, 04:17) Я о...   Jun 20 2011, 02:59
|- - XVR   Цитата(sonycman @ Jun 20 2011, 01:17) Не ...   Jun 20 2011, 08:42
|- - sonycman   Цитата(dxp @ Jun 20 2011, 06:59) Если ком...   Jun 20 2011, 09:13
|- - XVR   Цитата(sonycman @ Jun 20 2011, 13:13) Так...   Jun 20 2011, 09:21
||- - sonycman   Цитата(XVR @ Jun 20 2011, 13:21) Разумеет...   Jun 20 2011, 09:34
|- - dxp   Цитата(sonycman @ Jun 20 2011, 16:13) Инт...   Jun 20 2011, 12:04
|- - zltigo   QUOTE (dxp @ Jun 20 2011, 14:04) Мне попа...   Jun 20 2011, 12:15
|- - inventor   Кстати, никогда не делайте программы для DSP и кон...   Jun 22 2011, 10:52
|- - dxp   Цитата(inventor @ Jun 22 2011, 17:52) Кст...   Jun 22 2011, 12:13
||- - inventor   Цитата(dxp @ Jun 22 2011, 16:13) Вам сюд...   Jun 22 2011, 13:59
||- - dxp   Цитата(inventor @ Jun 22 2011, 20:59) Для...   Jun 22 2011, 14:48
|||- - zltigo   QUOTE (dxp @ Jun 22 2011, 17:48) Заинтриг...   Jun 22 2011, 17:52
||- - XVR   Цитата(inventor @ Jun 22 2011, 17:59) Для...   Jun 22 2011, 19:19
||- - inventor   Цитата(XVR @ Jun 22 2011, 23:19) Угу, вид...   Jun 23 2011, 11:21
||- - MrYuran   Цитата(inventor @ Jun 23 2011, 15:21) код...   Jun 23 2011, 11:30
||- - dxp   Цитата(inventor @ Jun 23 2011, 18:21) код...   Jun 23 2011, 12:35
|||- - inventor   Цитата(dxp @ Jun 23 2011, 16:35) Это тако...   Jun 23 2011, 16:41
||- - XVR   Цитата(inventor @ Jun 23 2011, 15:21) код...   Jun 23 2011, 17:54
||- - ar__systems   Цитата(inventor @ Jun 23 2011, 07:21) код...   Jul 4 2011, 01:14
|- - AHTOXA   Цитата(inventor @ Jun 22 2011, 16:52) Все...   Jun 22 2011, 14:48
- - sergeeff   Уж сколько понаписано про преждевременную оптимиза...   Jun 24 2011, 10:45
|- - zltigo   QUOTE (sergeeff @ Jun 24 2011, 13:45) Уж ...   Jun 24 2011, 13:15
|- - inventor   Цитата(zltigo @ Jun 24 2011, 17:15) глупо...   Jun 24 2011, 15:50
|- - sergeeff   Цитата(zltigo @ Jun 24 2011, 16:15) глупо...   Jun 25 2011, 09:41
|- - zltigo   QUOTE (sergeeff @ Jun 25 2011, 11:41) А ч...   Jun 25 2011, 09:47
|- - sergeeff   Цитата(zltigo @ Jun 25 2011, 12:47) После...   Jun 25 2011, 17:38
|- - zltigo   QUOTE (sergeeff @ Jun 25 2011, 19:38) Ров...   Jun 25 2011, 18:53
|- - sergeeff   Цитата(zltigo @ Jun 25 2011, 21:53) Вы оп...   Jun 25 2011, 22:44
||- - Dog Pawlowa   Цитата(sergeeff @ Jun 26 2011, 01:44) Про...   Jun 26 2011, 05:03
||- - inventor   Цитата(sergeeff)Сделали. И вдруг (или не вдруг) на...   Jun 26 2011, 06:35
||- - zltigo   QUOTE (sergeeff @ Jun 26 2011, 00:44) Име...   Jun 26 2011, 08:26
||- - sergeeff   Цитата(zltigo @ Jun 26 2011, 11:26) Забыл...   Jun 26 2011, 09:37
||- - zltigo   QUOTE (sergeeff @ Jun 26 2011, 12:37) Одн...   Jun 26 2011, 10:18
||- - sergeeff   Цитата(zltigo @ Jun 26 2011, 13:18) Катег...   Jun 26 2011, 10:39
|- - MrYuran   Цитата(zltigo @ Jun 25 2011, 22:53) Все у...   Jun 27 2011, 06:43
- - MrYuran   Цитата(dxp @ Jun 27 2011, 10:57) Даже есл...   Jun 27 2011, 07:02
|- - dxp   Цитата(MrYuran @ Jun 27 2011, 14:02) Согл...   Jun 27 2011, 10:44


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

 


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


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