|
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 36
|
||||||
Передача структуры в функцию по значению. Странности компилятора под ARM03.05.2012, 17:44. Показов 1408. Ответов 2
Метки нет (Все метки)
Есть коссплаформенный код(сразу скажу абсолютно рабочий на x86 и скорее всего других плаформах, кроме ARM):
Создается структура cont, потом она передается в функцию AcquireTest(. В функции ее поля передаются в другую функцию. Так вот gdb показывает, что поля портятся. А именно смещаются значения вверх на 4 32-разрядных слова!!! А именно было: cont.szName=0; /* Если здесь не нулевой указательно то все хорошо!!!!!!! Смещения не происходит. Загадка */cont.CtxFlags=0xf0000000; cont. KeyFlags= 0; cont.K1K2= 1; cont.SecLevel=0; cont.SecLevel2=1; cont.SecLevel3=3; В фукнции AcquireTest стало: cont.szName=0; cont.CtxFlags=1; cont. KeyFlags= 3; cont.K1K2= хрень; cont.SecLevel=хрень; cont.SecLevel2=хрень; cont.SecLevel3=хрень; Ума не приложу почему так происходит. В данную функцию можно передать структуру и по указателю. Но нужно выяснить причину такого поведения компилятора! Не подскажите с чем это может быть связано? Все поля в данной структуре 4-х байтные, проверено по коду и командой sizeof() gdb! (DWORD и TCHAR *) Добавлено через 5 минут Промазал(. Переместите в Cи под Linux плиз. Добавлено через 3 часа 43 минуты "cont.szName=0; /* Если здесь не нулевой указательно то все хорошо!!!!!!! Смещения не происходит. Загадка*/" Это мне вчера поздно вечером почудилось видимо( С с ненулевым тож плохо(от значения не зависит).
0
|
||||||
| 03.05.2012, 17:44 | |
|
Ответы с готовыми решениями:
2
Передача в функцию по значению
Передача переменной в лямбда-функцию по значению |
|
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 36
|
|
| 05.05.2012, 16:52 [ТС] | |
|
Да, информации предоставил мало.
Спасибо, я решил проблему. Проблема была в gdb+баг в коде.
0
|
|
| 05.05.2012, 16:52 | |
|
Помогаю со студенческими работами здесь
3
Странности в работе компилятора Странности с платой от STM32 - MB913C на ARM STM32F100RB Передача параметров в функцию по значению, по ссылке и по указателю Передача параметров в функцию по значению, по ссылке или по указателю Передача структуры в функцию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|