Я хотел узнать про ARM/не ARM потому, что я тоже работаю с ARM-ом и там целый 64-битный тип — это просто
встроенный тип. Уж не знаю поддерживает ли ARM этот тип непосредственно(думаю что нет), но обьяснение ,
что мол "архитектура не поддерживает поэтому сделано как класс" я не совсем понимаю . Интел тоже не поддерживает __in64
непосредственно — это головняк компилятора.
Здравствуйте, Jakop, Вы писали:
J>Я хотел узнать про ARM/не ARM потому, что я тоже работаю с ARM-ом и там целый 64-битный тип — это просто J>встроенный тип. Уж не знаю поддерживает ли ARM этот тип непосредственно(думаю что нет), но обьяснение , J>что мол "архитектура не поддерживает поэтому сделано как класс" я не совсем понимаю . Интел тоже не поддерживает __in64 J>непосредственно — это головняк компилятора.
Согласен. Но сделано так, как сделано. Сделать 64-битный тип C++ классом — это один из возможных путей решения проблемы, не нагружая компилятор. Там с компиляторами и так до недавних пор не все гладко было. Кроме того, разработчики Symbian не ставили перед собой задачу обеспечить возможность работы с TInt64 в других языках (C, например). В Symbian все API — это C++ классы. В этом смысле это уникальная система — во всех остальных известных мне операционных системах используется старый добрый C API.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[3]: Программирование под Symbian OS: начало
От:
Аноним
Дата:
11.11.05 09:40
Оценка:
CX>Только что посмотрел в SDK для Series 60 2.0 Feature Pack 2 (Symbian 8.0a). TInt64 — класс. Может, в версиях выше это typedef, но сильно сомневаюсь. Очень уж много кода завязано на определенный синтаксис его конструктора и вызов методов. Приду домой, посмотрю.
Хорошо, в 8.0a это класс. Однако, читаем здесь: "TInt64. Releases of Symbian OS prior to v8.0 had no built-in ARM support for 64-bit arithmetic, so the TInt64 class implemented a 64-bit integer as two 32-bit values. On Symbian OS v8.0, TInt64and TUInt64 are typedef’d to long long and use the available native 64-bit support."
CX>Здесь я, видимо, не совсем удачно выразился. Да, конечно есть ассемблерные инструкции для чтения/записи 16-разрядных значений (равно как и 8-разрядных). Когда же я говорил о чтении/записи "по маске", я имел в виду тот факт, что на уровне процессора операция производится с 32-разрядными значениями, как того требует ARM 32-bit архитектура. А для того, чтобы пользователь работал с 8- или 16-разрядными значениями, применяется маска.
В вашем тексте явно сказано: "16-битные целочисленные значения. Представлены 16-битным машинным «полусловом». Обязаны быть выровненными по 2-байтной границе. Доступ к ним организуется чтением 32-битного слова «по маске»."
То есть речь идёт именно о доступе к памяти (потому что говорится о выравнивании), а не о каких-то там "операциях на уровне процессора".
Удивляет, как статья с таким количеством неточностей и просто неверных фактов могли опубликовать в RSDN Magazine? Про структуру не буду говорить, A.R. хорошо написал.
А реакция автора на критику вида "покажите паспорт, прежде чем меня критиковать", плюс игнорирование справедливых замечаний и лепет про "неудачно выразился", заставляет усомниться в зрелости его ума.
Здравствуйте, <Аноним>, Вы писали:
CX>>Только что посмотрел в SDK для Series 60 2.0 Feature Pack 2 (Symbian 8.0a). TInt64 — класс. Может, в версиях выше это typedef, но сильно сомневаюсь. Очень уж много кода завязано на определенный синтаксис его конструктора и вызов методов. Приду домой, посмотрю.
А>Хорошо, в 8.0a это класс. Однако, читаем здесь: "TInt64. Releases of Symbian OS prior to v8.0 had no built-in ARM support for 64-bit arithmetic, so the TInt64 class implemented a 64-bit integer as two 32-bit values. On Symbian OS v8.0, TInt64and TUInt64 are typedef’d to long long and use the available native 64-bit support."
Тем не менее, пока что подтверждений этому я не нашел. Сегодня еще раз специально посмотрю как с этим дело в Symbian 8.1
CX>>Здесь я, видимо, не совсем удачно выразился. Да, конечно есть ассемблерные инструкции для чтения/записи 16-разрядных значений (равно как и 8-разрядных). Когда же я говорил о чтении/записи "по маске", я имел в виду тот факт, что на уровне процессора операция производится с 32-разрядными значениями, как того требует ARM 32-bit архитектура. А для того, чтобы пользователь работал с 8- или 16-разрядными значениями, применяется маска.
А>В вашем тексте явно сказано: "16-битные целочисленные значения. Представлены 16-битным машинным «полусловом». Обязаны быть выровненными по 2-байтной границе. Доступ к ним организуется чтением 32-битного слова «по маске»."
А>То есть речь идёт именно о доступе к памяти (потому что говорится о выравнивании), а не о каких-то там "операциях на уровне процессора".
А доступ к памяти это не "операция на уровне процессора"?
А>Удивляет, как статья с таким количеством неточностей и просто неверных фактов могли опубликовать в RSDN Magazine? Про структуру не буду говорить, A.R. хорошо написал.
А>А реакция автора на критику вида "покажите паспорт, прежде чем меня критиковать", плюс игнорирование справедливых замечаний и лепет про "неудачно выразился", заставляет усомниться в зрелости его ума.
ДМ>Авторы: ДМ> Дмитрий Москальчук
ДМ>Аннотация: ДМ>В статье затронуты вопросы основных отличий процесса программирования под Symbian от программирования под такие операционные системы, как MS Windows или Linux. ДМ>Требуется знание С++
Здравствуйте Дмитрий
Я прочитал статью и ее обсуждение полностью
Скажу Вам, что статья мне очень понравилась
правда чтобы понять все мне пришлось прочитать ее , немного попрограммировать в Simbian и прочитать ее снова
Полностью согласен с Вами что исключення и С++ апи очень важны для Windows программиста который переходит на Simbian
Очень хотылось чтобы Вы не останавливались на достигнутом, и продолжили свой цикл статей
Люди с неконструктивной критикой умеют ломать а не строить сами статей написали мало или не написали ввобще, с завышеной самооценкой
Для меня симбиан действительно новая платформа, и статья мне очень понравилась спасибо!
PS:
Simbian 9.1, CarbideC++1.1, Series S60 SP3 FP1
Здравствуйте, SashaDanchuk, Вы писали:
SD>Очень хотылось чтобы Вы не останавливались на достигнутом, и продолжили свой цикл статей
Поддерживаю. Описать AO, IPC, Etel API (CTelephony) и сертификацию/подписывание/тестирование на Symbian 9.x было бы очень хорошо.
SD>PS: SD>Simbian 9.1, CarbideC++1.1, Series S60 SP3 FP1
sYmbian, please
Re: Программирование под Symbian OS: начало
От:
Аноним
Дата:
23.01.08 00:25
Оценка:
Здравствуйте, Дмитрий Москальчук, Вы писали:
ДМ> T – классы-типы с тривиальными конструкторами и деструкторами. Некоторый аналог POD-типов.
Это не совсем верно. Согласно соглашению об именованиях деструктор у Т-классов не должен быть объявлен вообще т.к. вслучае исключения он вызван не будет.