10 / 10 / 0
Регистрация: 13.06.2016
Сообщений: 62
|
||||||
Перенос проекта с VS2010 на VS2012 (C++, возврат массива из процедуры)22.01.2017, 22:30. Показов 823. Ответов 8
Метки нет Все метки)
(
потребовалось перенести проект из VS 2010 в VS2012. ломает логику следующее, если в 2010-ой студии этот код работал как следовало, то в 2012-ой возвращает мусор. как так то?
0
|
22.01.2017, 22:30 | |
Ответы с готовыми решениями:
8
Как перенести код с проекта VS2012 в проект VS2010? Перенос проекта из VS2008 на VS2010 После 3-месячного кошмара я вернулся с VS2012 на VS2010 |
Ушел с форума
![]() ![]() |
|
23.01.2017, 09:14 | |
Приведи полный код, где было бы видно, что возвращается "мусор".
0
|
Ушел с форума
![]() ![]() |
|
24.01.2017, 13:41 | |
А тут нет массива, тут строковой литерал, который имеет статическое время жизни.
Так что, как мне кажется, ошибка в совсем другом месте, а этот пример совершенно корректный. Вот только не видя кода, воспроизводящего проблему, можно лишь гадать...
0
|
10 / 10 / 0
Регистрация: 13.06.2016
Сообщений: 62
|
|||||||||||
13.02.2017, 21:46 [ТС] | |||||||||||
Убежденный, ну вот, еще код, повторюсь, натыкаюсь на это регулярно, только он все равно ничего не скажет:
а вот если добавить const, перед D3DXVECTOR2, начинает работать как надо. нагуглил "visual studio C++ debug return value" и воспользовался этим советом. однако, не разобрался
0
|
![]() ![]() 12845 / 8873 / 1319
Регистрация: 21.01.2016
Сообщений: 33,309
|
||||||
14.02.2017, 08:53 | ||||||
Nojabr, ты же в курсе, что после выхода из функции, занимаемый ею стёк освободится и содержимое массива out_data (который как раз в стёке размещается) накроется медным тазиком?..
Добавлено через 4 минуты И ещё: я не спец в С++, но не уверен, что такое допустимо:
0
|
10 / 10 / 0
Регистрация: 13.06.2016
Сообщений: 62
|
|
15.02.2017, 13:43 [ТС] | |
физически, данные после выхода не снесутся, они и дальше будут висеть в памяти, return вернет указатель. если исходить из низкоуровневого программирования, то передается просто адрес в памяти, и уничтожать данные физически - пустая трата ресурсов. но так понимаю, это неправильно, возрастает вероятность ошибки. в debug, где динамические массивы заполняются нулями, видимо, они в таком случае освобождаются.
в общем, как я понял, сложные строки состоящие из переведенных переменных в числа в одну строчку не сгенерировать.
0
|
![]() ![]() 12845 / 8873 / 1319
Регистрация: 21.01.2016
Сообщений: 33,309
|
|
15.02.2017, 14:04 | |
Это детали реализации, на которые нельзя полагаться.
Не совсем понятно о чём речь. Чем не устраивает std::string или выделение массива в куче с помощью malloc / new (если уж любишь усложнять себе жизнь)?
0
|
17.02.2017, 10:36 | ||||||
Потому что строковую константу нужно присваивать константному указателю.
И возвращать тоже.
0
|
17.02.2017, 10:36 | |
Помогаю со студенческими работами здесь
9
Преобразования проекта с VS2008 в VS2010 Перенос решения из VS2010 в VS2013 Ошибка при создании проекта в VS2010 Открытие в visual studio 2005 проекта VS2010 Ошибка при записи в файл проекта (VS2010) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations
рестрикции доступа на сервер sshd
статья:
https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
|
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
|
Многопоточное программирование в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
|
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
|
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
|
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
|
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
|
Образование и практика
Igor3D 21.03.2025
Добрый день
А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
|
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
|
Async/await в Swift: Асинхронное программирование в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
|