Russian Qt Forum
Ноябрь 22, 2024, 23:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ошибка VC2008 в генерации кода для WinCE. Кто-нибудь сталкивался?  (Прочитано 3377 раз)
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 (может, здесь собака порылась?).
Записан
wholeman
Гость
« Ответ #1 : Сентябрь 23, 2009, 16:25 »

Проблема оказалась проще: в программе перед полем типа int идёт поле типа time_t, которое, в зависимости от того, в каком порядке включены файлы SDK WinCE, становится 32 или 64-битным. Шокированный
А this, в общем-то и не при чём. Если бы отладчик не показывал его внутри функции столь навязчиво, я бы о нём и не подумал... Улыбающийся
Записан
mad_celt
Гость
« Ответ #2 : Сентябрь 24, 2009, 10:13 »

Прошу прощения за оффтоп, но... Я не могу сдержаться)
Вот!!! От отладчика одни беды!!!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.103 секунд. Запросов: 20.