Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Symbian OS Explained - Effective C++ Programming For Smartphones (2005)

Symbian OS Explained - Effective C++ Programming For Smartphones (2005) (Symbian Books)

PDF-файл Symbian OS Explained - Effective C++ Programming For Smartphones (2005) (Symbian Books) Основы автоматизированного проектирования (ОАП) (17696): Книга - 3 семестрSymbian OS Explained - Effective C++ Programming For Smartphones (2005) (Symbian Books) - PDF (17696) - СтудИзба2018-01-10СтудИзба

Описание файла

Файл "Symbian OS Explained - Effective C++ Programming For Smartphones (2005)" внутри архива находится в папке "Symbian Books". PDF-файл из архива "Symbian Books", который расположен в категории "". Всё это находится в предмете "основы автоматизированного проектирования (оап)" из 3 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "основы автоматизированного производства (оап)" в общих файлах.

Просмотр PDF-файла онлайн

Текст из PDF

www.dbebooks.com - Free Books & magazinesSymbian OS ExplainedEffective C++ Programming for SmartphonesJo StichburyReviewed byDavid Batchelor, Andy Cloke, Reem EI Ghazzawi, MartinHardman, Morgan Henry, John Pagonis, William Roberts,Keith Robertson, Phil Spencer, Colin TurfusManaging editorPhil NorthamProject editorFreddie GjertsenSymbian OS ExplainedTITLES PUBLISHED BY SYMBIAN PRESS• Symbian OS ExplainedJo Stichbury0470 021306416pp2004Paperback• Symbian OS C++ for Mobile Phones, Volume 2Richard Harrison0470 871083448pp2004Paperback• Programming Java 2 Micro Edition on Symbian OSMartin de Jode0470 092238498pp2004Paperback• Symbian OS C++ for Mobile Phones, Volume 1Richard Harrison0470 856114826pp2003Paperback• Programming for the Series 60 Platform and Symbian OSDigia0470 849487550pp2002Paperback• Symbian OS Communications ProgrammingMichael J Jipping0470 844302418pp2002Paperback• Wireless Java for Symbian DevicesJonathan Allin0471 486841512pp2001PaperbackSymbian OS ExplainedEffective C++ Programming for SmartphonesJo StichburyReviewed byDavid Batchelor, Andy Cloke, Reem EI Ghazzawi, MartinHardman, Morgan Henry, John Pagonis, William Roberts,Keith Robertson, Phil Spencer, Colin TurfusManaging editorPhil NorthamProject editorFreddie GjertsenCopyright  2005 by John Wiley & Sons, LtdThe Atrium, Southern Gate, Chichester,West Sussex PO19 8SQ, EnglandTelephone (+44) 1243 779777Email (for orders and customer service enquiries): cs-books@wiley.co.ukVisit our Home Page on www.wileyeurope.com or www.wiley.comAll Rights Reserved.

No part of this publication may be reproduced, stored in a retrieval system ortransmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning orotherwise, except under the terms of the Copyright, Designs and Patents Act 1988 or under the terms ofa licence issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP,UK, without the permission in writing of the Publisher, with the exception of any material suppliedspecifically for the purpose of being entered and executed on a computer system for exclusive use bythe purchaser of the publication. Requests to the Publisher should be addressed to the PermissionsDepartment, John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ,England, or emailed to permreq@wiley.co.uk, or faxed to (+44) 1243 770620.Designations used by companies to distinguish their products are often claimed as trademarks.

Allbrand names and product names used in this book are trade names, service marks, trademarks orregistered trademarks of their respective owners. The Publisher is not associated with any product orvendor mentioned in this book.This publication is designed to provide accurate and authoritative information in regard to the subjectmatter covered. It is sold on the understanding that the Publisher is not engaged in renderingprofessional services. If professional advice or other expert assistance is required, the services of acompetent professional should be sought.Other Wiley Editorial OfficesJohn Wiley & Sons Inc., 111 River Street, Hoboken, NJ 07030, USAJossey-Bass, 989 Market Street, San Francisco, CA 94103-1741, USAWiley-VCH Verlag GmbH, Boschstr. 12, D-69469 Weinheim, GermanyJohn Wiley & Sons Australia Ltd, 33 Park Road, Milton, Queensland 4064, AustraliaJohn Wiley & Sons (Asia) Pte Ltd, 2 Clementi Loop #02-01, Jin Xing Distripark, Singapore 129809John Wiley & Sons Canada Ltd, 22 Worcester Road, Etobicoke, Ontario,Canada M9W 1L1Wiley also publishes its books in a variety of electronic formats.

Some content thatappears in print may not be available in electronic books.Library of Congress Cataloging-in-Publication DataStichbury, Jo.Symbian OS explained effective C++ programming for smartphones / By Jo Stichbury.p. cm.Includes bibliographical references and index.ISBN 0-470-02130-6 (pbk. alk. paper)1. Mobile communication systems–Computer programs. 2. Operating systems(Computers) 3. C++ (Computer program language) I. Title.TK6570.M6S745 2004005.265–dc222004015414British Library Cataloguing in Publication DataA catalogue record for this book is available from the British LibraryISBN 0-470-02130-6Typeset in 10/12pt Optima by Laserwords Private Limited, Chennai, IndiaPrinted and bound in Great Britain by Biddles Ltd, King’s LynnThis book is printed on acid-free paper responsibly manufactured from sustainableforestry in which at least two trees are planted for each one used for paper production.ContentsForewordAbout This BookWho Is It For?How to Use This BookNotation and Code Conventions Used in This BookIntroduction to Symbian OSAuthor BiographyAuthor’s AcknowledgmentsSymbian Press Acknowledgments1 Class Name Conventions on Symbian OS1.11.21.31.41.51.61.71.8xixiiixivxivxvxviixxixxiiixxv1Fundamental TypesT ClassesC ClassesR ClassesM ClassesStatic ClassesBuyer BewareSummary134671111122 Leaves: Symbian OS Exceptions132.12.22.3Leaving FunctionsHeap Allocation Using new (ELeave)Constructors and Destructors131617viCONTENTS2.42.52.62.7Working with Leaving FunctionsTrapping a Leave Using TRAP and TRAPDLeaveScanSummary3 The Cleanup Stack3.13.23.33.43.53.63.7Using the Cleanup StackHow Does the Cleanup Stack Work?Using the Cleanup Stack with Non-CBase ClassesUsing TCleanupItem for Customized CleanupPortabilityAn Incidental Note on the Use of CastsSummary1820262729313538444646474 Two-Phase Construction495 Descriptors: Symbian OS Strings555.15.25.35.45.55.65.7Non-Modifiable DescriptorsModifiable DescriptorsPointer DescriptorsStack-Based Buffer DescriptorsHeap-Based Buffer DescriptorsLiteral DescriptorsSummary6 Good Descriptor Style6.16.26.36.46.56.66.7Descriptors as Parameters and Return TypesCommon Descriptor MethodsThe Use of HBufC Heap DescriptorsExternalizing and Internalizing DescriptorsThe Overuse of TFileNameUseful Classes for Descriptor ManipulationSummary7 Dynamic Arrays and Buffers7.17.27.37.47.57.67.7CArrayX ClassesRArray<class T> and RPointerArray<class T>Why Use RArray Instead of CArrayX?Dynamic Descriptor ArraysFixed-Length ArraysDynamic BuffersSummary8 Event-Driven Multitasking Using Active Objects8.1Multitasking Basics565860636569727575788284868788919297102103104106109111111CONTENTS8.28.38.48.58.68.7Event-Driven MultitaskingWorking with Active ObjectsExample CodeThreads Without an Active SchedulerApplication Code and Active ObjectsSummary9 Active Objects under the Hood9.19.29.39.49.59.69.79.89.99.109.119.129.139.149.15Active Object BasicsResponsibilities of an Active ObjectResponsibilities of an Asynchronous Service ProviderResponsibilities of the Active SchedulerStarting the Active SchedulerNesting the Active SchedulerExtending the Active SchedulerCancellationRequest CompletionState MachinesLong-Running TasksClass CIdleClass CPeriodicCommon MistakesSummary10 Symbian OS Threads and Processes10.110.210.310.410.510.610.7Class RThreadThread PrioritiesStopping a Running ThreadInter-Thread Data TransferException HandlingProcessesSummary11 The Client–Server Framework in Theory11.111.211.311.411.5Why Have a Client–Server Framework?How Do the Client and Server Fit Together?How Do the Client and Server Communicate?What Classes Does the Client–Server Framework Use?How Do Synchronous and Asynchronous RequestsDiffer?11.6 How Is a Server Started?11.7 How Many Connections Can a Client Have?11.8 What Happens When a Client Disconnects?11.9 What Happens If a Client Dies?11.10 What Happens If a Server Dies?vii112115120123123124127128131133134135135136137138138143146148149150151152155157162163164166167168168170170179179180180181181viiiCONTENTS11.11 How Does Client–Server Communication Use Threads?11.12 What Are the Implications of Server-Side ActiveObjects?11.13 What Are the Advantages of a Local (Same-Process)Server?11.14 What Are the Overheads of Client–ServerCommunication?11.15 How Many Outstanding Requests Can a Client Make toa Server?11.16 Can Server Functionality Be Extended?11.17 Example Code11.18 Summary12 The Client–Server Framework in Practice12.112.212.312.412.512.612.712.8Client–Server Request CodesClient Boilerplate CodeStarting the Server and Connecting to It from the ClientServer Startup CodeServer ClassesServer ShutdownAccessing the ServerSummary13 Binary Types13.113.213.313.413.513.613.713.8Symbian OS EXEsSymbian OS DLLsWritable Static DataThread-Local StorageThe DLL LoaderUIDsThe targettype SpecifierSummary18118218218318618618618718919019119820320521321421421721721822022322622622823014 ECOM23314.114.214.314.414.514.614.7233236237240242245246ECOM ArchitectureFeatures of an ECOM InterfaceFactory MethodsImplementing an ECOM InterfaceResource FilesExample Client CodeSummary15 Panics24715.115.2248249Just-In-Time DebuggingGood Panic StyleCONTENTS15.315.415.515.6Symbian OS Panic CategoriesPanicking Another ThreadFaults, Leaves and PanicsSummary16 Bug Detection Using Assertions16.116.216.3ix250251253253255__ASSERT_DEBUG__ASSERT_ALWAYSSummary25626126317 Debug Macros and Test Classes26517.117.217.317.4Heap-Checking MacrosObject Invariance MacrosConsole Tests Using RTestSummary18 Compatibility18.118.218.318.418.518.618.718.8Forward and Backward CompatibilitySource CompatibilityBinary CompatibilityPreventing Compatibility BreaksWhat Can I Change Without Breaking BinaryCompatibility?Best Practice: Planning for Future ChangesCompatibility and the Symbian OS Class TypesSummary26527027327627727827928028128728929129219 Thin Templates29320 Expose a Comprehensive andComprehensible API29920.120.220.320.420.520.620.7Class LayoutIMPORT_C and EXPORT_CParameters and Return ValuesMember Data and Functional AbstractionChoosing Class, Method and Parameter NamesCompiler-Generated FunctionsSummary21 Good Code Style21.121.221.321.4Reduce the Size of Program CodeUse Heap Memory CarefullyUse Stack Memory CarefullyEliminate Sub-Expressions to Maximize CodeEfficiency300301303309312314315317317320325328xCONTENTS21.521.6Optimize LateSummaryAppendixCode Checklist330331333Glossary339Bibliography and Online Resources347Index351ForewordCharles Davies, Chief Technical Officer, SymbianSoftware engineers live in interesting times: software is becoming pervasive.

We all increasingly rely on our personal computers and use theirsoftware as an essential tool in organizing our lives. But what we ”see” isjust the tip of the iceberg. Most software exists beneath the surface withina variety of embedded systems such as electronic consumer devices,motor cars, and aircraft. Symbian OS is targeted at mobile phones – aclass of embedded system that exists in massive volume and which isused by the entire developed world.The amount of software built into a mobile phone is expanding rapidly.In recent times it has outpaced Moore’s law: in the past three years theamount of embedded software in high-end phones has jumped fromxiiFOREWORDabout 2 MB to 20 MB. This is partly required by the sophistication ofnew 3G networks, but it is mainly due to mobile phones subsumingthe functionality of other portable consumer devices, such as digitalcameras and camcorders, digital audio players, video players, electronicorganizers, mobile gaming consoles, portable radios, portable TVs, emailterminals, cordless phones and even electronic payment cards.

Themobile phone is becoming the key portable lifestyle support system – anelectronic Swiss army knife.Symbian OS is needed because this explosion in software-supportedfunctionality requires a capable operating system that is designed forsophisticated, always-on, battery-powered mobile devices.The object-oriented programming paradigm of Symbian OS helpsmanage system complexity and permeates the architecture of SymbianOS. This architecture uses many advanced, but classical, constructsfound in other multitasking operating systems. Examples include preemptive multitasking threads, processes, asynchronous services andinternal servers for serializing access to shared resources.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее