Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 23.2.2011, 15:42 |
то что 2-й qDebug выведет? сейчас уже не хочется экспериментировать, код сильно переписал, от данной функции пока избавился.Функция getFirstComponentItem генерирует какие-нить исключения? нет, мало того она статус "Ок" возвращает.П.С, Хотя "Ок" - нуль в связи со всем этим делом, может кто-то знает как МинГВ осуществляет компиляцию? Т.е. строковые литералы где-то в одном месте лежат? что-то типа таблицы? |
|
Rocky | Дата 23.2.2011, 13:24 |
Хм... даже не знаю... Функция getFirstComponentItem генерирует какие-нить исключения? Может ее обернуть в try/catch? Или вообще попробовать из отдельного потока вызывать? Цитата разве ОСь на это не должна реагировать? Всё-таки строковые литералы - область "только для чтения" Х его з. Пару лет назад, когда я подробно в этом всем разбирался смог бы ответить.. Сейчас уже не знаю. Насколько я помню, ОС должна реагировать (имею ввиду SIGTERM и пр) если затираются какие-то системные блоки памяти. Т.е. если выделить память под массив на 10 элементов, а потом обратиться к 11-му (случайно), то далеко не факт что прога выдаст assertion. Последствия теоретически могут быть такими, какие ты пишешь. А т.к. кода этой dll нет, то хрен его знает что там происходит, что слетает... Строки или вообще потоки вывода.... А если например так написать:
то что 2-й qDebug выведет? |
|
Litkevich Yuriy | Дата 23.2.2011, 13:04 |
Если функцию из dll не вызывать, то все нормально? даА можешь привести код getFirstComponentItem? нет кода, только dll-ка и заголовочник.Может она что-то со стеком делает разве ОСь на это не должна реагировать? Всё-таки строковые литералы - область "только для чтения" |
|
Rocky | Дата 23.2.2011, 11:40 |
П.П.С. креатор по прежнему не помощник, не показывает QString как строку, только все его внутренности. Странно. Это разве нормально? У меня он обычно все показывает, даже массивы разворачивает. А если через QMessageBox выводить строки, то они тоже пустые? А можешь привести код getFirstComponentItem? Может она что-то со стеком делает или еще с чем-то таким... |
|
SABROG | Дата 23.2.2011, 9:17 |
Если функцию из dll не вызывать, то все нормально? | |
Litkevich Yuriy | Дата 23.2.2011, 8:53 |
Имеется такой код (Qt 4.7.1): Вывод в консоль совершенно не понятен: почему после вызова функции getFirstComponentItem в отладку не идут константные строки, и почему после этой функции s1 стала пустой.П.С. после вызова getFirstComponentItem во всей программе перестают печататься в поток ошибок строковые константы, хоть через qDebug, хоть через stderr. П.П.С. креатор по прежнему не помощник, не показывает QString как строку, только все его внутренности. П.П.П.С. getFirstComponentItem - функция из DLL-ки |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.3.2024, 20:01 |