Название: Ошибка VC2008 в генерации кода для WinCE. Кто-нибудь сталкивался? Отправлено: wholeman от Сентябрь 22, 2009, 10:42 Прикупил на-днях по акции Visual Studio 2008 Prof. Решил собрать пару Qt-проектов (успешно работающих под MingW и Linux) для WinCE. Поставил WM60Prof SDK и собрал соответствующий Qt. Одна программа собралась и работает нормально, но очень долго грузится/выгружается. А в другой обнаружилась следующая особенность компилятора: если функция определена внутри класса, то ей передаётся кривой this. Следующий код приведён только для пояснения. Я не проверял, но уверен, что он работает. Ошибка проявляется в намного более сложной ситуации.
== sample.hpp == class Sample { int Size; public: int size() const { return Size; } // Возвращает полный бред. }; // Sample ============= Если определить функцию вне класса, то всё нормально: == sample.hpp == class Sample { int Size; public: int size() const; // Работает! }; // Sample == sample.cpp == #include "sample.hpp" int Sample::size() const { return Size; } ============= Если кто-то сталкивался с подобной ситуацией или знает правильный русскоязычный форум для этих вопросов, буду весьма признателен. На всякий случай: OS: Vista Business x64. SDK: WM 6.0 Professional QT: 4.5.2, собран в консоли VC++ для x64 (может, здесь собака порылась?). Название: Re: Ошибка VC2008 в генерации кода для WinCE. Кто-нибудь сталкивался? Отправлено: wholeman от Сентябрь 23, 2009, 16:25 Проблема оказалась проще: в программе перед полем типа int идёт поле типа time_t, которое, в зависимости от того, в каком порядке включены файлы SDK WinCE, становится 32 или 64-битным. :o
А this, в общем-то и не при чём. Если бы отладчик не показывал его внутри функции столь навязчиво, я бы о нём и не подумал... :) Название: Re: Ошибка VC2008 в генерации кода для WinCE. Кто-нибудь сталкивался? Отправлено: mad_celt от Сентябрь 24, 2009, 10:13 Прошу прощения за оффтоп, но... Я не могу сдержаться)
Вот!!! От отладчика одни беды!!! |