[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!

Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 31 | 3 | 6
Назад Вниз Каталог Обновить

Аноним 09/02/17 Чтв 13:22:19  146355726  
BzxC3i-KEFM.jpg (32Кб, 500x403)
В /pr/ 0 людей по теме, поэтому спрошу здесь.
В моём компиляторе нет нужной (!) функции в std

В общем, есть файлы, из которых нужно собрать проект. Область: embedded. Моя задача: понять проект, собрать его, написать свою часть кода.

Ребята, которые написали сам код используют gnu компилятор какой-то версии из последних, где есть поддержка c++11.
Я использую компилятор от ARM 6.6 - это необходимо. В ARM6.6 есть поддержка с++11, но с некоторыми ограничениями.

Проблема заключается в том, что в проекте используется одна библиотека, где используется метод std::move. В свою очередь, в описании поддержки компилятором от ARM c++11 пишется, что std::move не поддерживается, но есть прямой аналог (то есть дают кусок кода) реализации с помощью static_cast.

То есть проблема: при сборке проекта у меня выбивает ошибку о том, что no member std::move was found, что весьма логично. А что мне делать?

Что нашёл и что непонятно:
1) Если менять функцию прямо в std, то получим undefined behavior. На практике получим ту же ошибку, то есть то, что member was not found
2) Менять компилятор - будет пиздец. А это вообще может быть выходом?
3) Как override функцию в std - может, я неправильно это делаю? В гугле вообще говорят что это бред, да и в принципе будет undefined behavior


большое спасибо, если кто выскажет свои мысли/решения.
Аноним 09/02/17 Чтв 13:23:52  146355824
mr bump #1
Аноним 09/02/17 Чтв 13:28:55  146356075
>>146355726 (OP)
ВВВ
Аноним 09/02/17 Чтв 13:32:18  146356273
>>146356075
Ну и что это значит??
search for "bbb c++"?
Аноним 09/02/17 Чтв 13:35:34  146356462
>>146355726 (OP)
Хмм... я не знаю понимаешь ли ты как работает микроконтроллер, но с тем как работает иде и компилятор ты явно не сталкивался.
Аноним 09/02/17 Чтв 13:36:08  146356490
>>146355726 (OP)
>Как override функцию в std
int new_move() { а тут переписываешь как надо }
Аноним 09/02/17 Чтв 13:38:52  146356619
>>146356462
>
>Хмм... я не знаю понимаешь ли ты как работает микроконтроллер, но с тем как работает иде и компилятор ты явно не сталкивался.

ide генерит комманду (пути к файлам, опции ) для компилятора - так же?
Аноним 09/02/17 Чтв 13:39:30  146356648
>>146356490
к сожалению, не могу так сделать.
В той библиотеке используется именно функция из std
Аноним 09/02/17 Чтв 13:39:44  146356655
>>146355726 (OP)
Расскажи подробнее что ты делаешь. Как у тебя есть готовый проект на арм который не может обработать компилятор? Или ты по кускам собираешь проект от других компиляторов и пытаешься скормить его АРМовскому?
Аноним 09/02/17 Чтв 13:40:19  146356681
>>146356619
в смысле именно std::move, а не std::new_move
это что, все файлы в библиотеке переписывать под std::new_move?
Аноним 09/02/17 Чтв 13:40:50  146356704
>>146356648
Ну так если у тебя есть готовый код, или хотябы представление о том что должна делать функция где используется эта недоступная тебе библиотечная, просто создай свою аналогичную или перепиши код в этой.
Аноним 09/02/17 Чтв 13:41:11  146356722
>>146356648
Какая разница в каком она пакете? Просто возьми и перепиши в main.c.
Аноним 09/02/17 Чтв 13:41:24  146356738
Страдай, быдлокодер.
Аноним 09/02/17 Чтв 13:41:46  146356757
>>146356681
Ну сделаешь рефакторинг, на крайний случай.
Аноним 09/02/17 Чтв 13:41:50  146356762
>>146356722
Двачну, мне кажется он вообще нихуя не понимает что происходит и никакой логической связи не может построить.
Аноним 09/02/17 Чтв 13:43:08  146356819
>>146356655
> на арм который не может обработать компилятор?
Мне отдали папку с .cpp и .h файлами, а также с файлами библиотеки. Сказали - здесь всё, что нужно, для начала собери проект. Потом нужно будет своё дописать.
Ещё: они используют компилятор gnu (цитата: "одна из последних версий"), и у них всё работает.
Также: ide у них и у меня разные. Но не в этом суть, какая разница на самом деле

У меня нет готового (собраного )проекта. У меня есть только файлы проекта.

Проект по кускам не собираю. От других компиляторов - нет, только от одного, gnu.

Да, пытаюсь скормить все файлы АРМовскому компилятору.
Аноним 09/02/17 Чтв 13:43:24  146356837
>>146355726 (OP)

> 2) Менять компилятор - будет пиздец.

Почему? Скачай нужный компилятор и пересобери проект, или найди библиотеку для своего.
Аноним 09/02/17 Чтв 13:44:39  146356888
>>146356722
>>146356762
Как переопределить функцию в std неймспейсе? Точнее, темплейт же.
Точный аналог функции у меня есть. Не знаю как и куда его всунуть.
Аноним 09/02/17 Чтв 13:45:07  146356917
>>146356837
Это запасной вариант. Пиздец - это я так, просто разбираться нужно будет, ну значит придётся.
Аноним 09/02/17 Чтв 13:47:27  146357027
>>146356888
Создай новый файл в проекте, назови его move.{c,h} В move.h define move, в move.c писание функции. Заинклудь его в прожект. Затем найди как в твоей IDE сделать рефакторинг. Как-то так. Хотя я вообще-то не крестоблядок, у меня любая функция из любого пакета переписывается на порядок проще.
Аноним 09/02/17 Чтв 13:47:33  146357037
0qv3477MDjE.jpg (148Кб, 723x1024)
>>146356917
В чем разбираться? Язык то тот же? Тебе так и так документацию читать.
На крайняк можешь написать свой мув с блекджеком и шлюхами.
Аноним 09/02/17 Чтв 13:48:16  146357080
>>146357037
>На крайняк можешь написать свой мув с блекджеком и шлюхами.
>>146357027
я тебя правильно понял:

1) создаю move.h, где пишу
namespace std{
template<> return_value move(args) {....}
}
2) подключаю move.h именно там, где использую функцию std::move
3) profit?
Аноним 09/02/17 Чтв 13:48:45  146357105
>>146357080
Примерно так, да.
Аноним 09/02/17 Чтв 13:48:46  146357106
>>146357037
Так точно.
Я просто не знаю как override темплейт в std библиотеке.
Аноним 09/02/17 Чтв 13:49:05  146357118
>>146357105
большое спасибо, сейчас попробую.
Аноним 09/02/17 Чтв 13:50:03  146357163
>>146357118
Не получится - спроси на ЛОРе. Там концентрация сишников достаточно высока, чтобы найти решение.
Аноним 09/02/17 Чтв 13:50:32  146357183
>>146357163
что такое ЛОР? :)
Аноним 09/02/17 Чтв 13:51:46  146357251
>>146357163
linux.org.ru/?
Аноним 09/02/17 Чтв 13:52:25  146357301
>>146357251
Да.
Аноним 09/02/17 Чтв 13:57:46  146357585
Это п о м о г л о
Двач, ты охуенен.

Огромное спасибо.
Аноним 09/02/17 Чтв 13:58:48  146357641
>>146357585
you are welcome
Аноним 09/02/17 Чтв 14:04:17  146357979
14329259268990.jpg (48Кб, 500x667)
>>146357585
Нет.

Теперь ты охуенен.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 31 | 3 | 6
Назад Вверх Каталог Обновить

Топ тредов
Избранное