Cross-platform development in C++: building Mac OS X, Linux, and Windows applications
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Upper Saddle River, NJ ; Munich [u.a.]
Addison-Wesley
2008
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Includes index. |
Beschreibung: | xxv, 547 p. ill. |
ISBN: | 032124642X 9780321246424 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV035085525 | ||
003 | DE-604 | ||
005 | 20120628 | ||
007 | t | ||
008 | 081007s2008 xxua||| |||| 00||| eng d | ||
010 | |a 2007036292 | ||
020 | |a 032124642X |c pbk. : alk. paper |9 0-321-24642-X | ||
020 | |a 9780321246424 |c pbk. : alk. paper |9 978-0-321-24642-4 | ||
035 | |a (OCoLC)636159581 | ||
035 | |a (DE-599)BVBBV035085525 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-91G | ||
050 | 0 | |a QA76.76.D47 | |
082 | 0 | |a 005.13/3 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a DAT 434f |2 stub | ||
084 | |a DAT 358f |2 stub | ||
100 | 1 | |a Logan, Syd |e Verfasser |4 aut | |
245 | 1 | 0 | |a Cross-platform development in C++ |b building Mac OS X, Linux, and Windows applications |c Syd Logan |
264 | 1 | |a Upper Saddle River, NJ ; Munich [u.a.] |b Addison-Wesley |c 2008 | |
300 | |a xxv, 547 p. |b ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Includes index. | ||
650 | 4 | |a C++ (Langage de programmation) | |
650 | 4 | |a Logiciels multiplateformes | |
650 | 4 | |a Cross-platform software development | |
650 | 4 | |a C++ (Computer program language) | |
650 | 0 | 7 | |a C++ |0 (DE-588)4193909-8 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a C++ |0 (DE-588)4193909-8 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016753710&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-016753710 |
Datensatz im Suchindex
_version_ | 1809403580924297216 |
---|---|
adam_text |
Contents
Foreword
.xiii
Preface
.xv
Acknowledgments
.xxiii
About the Author
.xxv
Introduction
.1
Areas That Can Affect Software Portability
.3
The Role of Abstraction
.10
1
Policy and Management
.17
Item
1:
Make All of Your Platforms a Priority
.17
Item
2:
Code from a Common Codebase
.22
Platform Factory Implementations
.29
Implementation Classes
.31
Platform-Specific Processeslmpl Classes
.32
Creating the Instance Hierarchy
.42
Organizing the Project in CVS or SVN
.45
Makefiles and Building the Code
.49
Item
3:
Require Developers to Compile Their Code
with Different Compilers
.52
Item
4:
Require Developers to Build Their Code on
Multiple Platforms
.56
Item
5:
Test Builds on Each Supported Platform
.60
Item
6:
Pay Attention to Compiler Warnings
.61
GNU Flags
.62
Microsoft Visual
C++.63
Vít
vili
Contents
2
Build System/Toolchain
.65
Item
7:
Use Whatever Compiler Makes the Most Sense
for a Platform
.66
Item
8:
Use Native IDEs When Appropriate
.61
Item
9:
Install and Use Cygwin on Windows
.71
Item
10:
Use a Cross-Platform Make System
.16
Make
.77
Building on Windows
.81
AutoconfI
Automake.87
Imake
.91
Installing on Mac OSX
.91
Installing on Windows
.91
Using Imake, an Example
.93
Imakefiles
.94
Building a Complete Program from Multiple Sources
.95
Overriding Defaults with site.
de f.
99
Eliminating Wifdefs in Code
.101
Files Used by Imake
.107
Building Projects with Subdirectories
.108
Building Debug
.130
3
Software Configuration Management
.131
Item
11:
Use a Cross-Platform Bug Reporting and
Tracking System
.132
Accessibility
.133
Ability to Track Platform-Specific Bugs
.133
Bugzilla
.133
Item
12:
Set Up a Tinderbox
.140
Item
13:
Use CVS or Subversion to Manage Source Code
.147
Setting Up and Using CVS
.152
Item
14:
Use Patch
.157
An Example
.158
Patch Options
.161
Dealing with Rejects
.162
Patch and Cross-Platform Development
.163
Contents ix
4 Installation
and Deployment
.165
Item 15:
Provide
Support
for Native Installers
.165
XPInstall .166
Platform Installs
.170
5
Operating System Interfaces and Libraries
.221
Item
16:
Use Standards-Based APIs (For Example, POSIX)
.222
POSIX
.222
Support for POSIX,
SVID, XPG,
and BSD
.226
Using Standards Support in GCC
.227
Microsoft Runtime Library Support for POSIX
.231
Using GCC on Microsoft Windows
.234
Deciding Which Standards to Support
.240
Item
17:
Consider Using a Platform Abstraction Library
Such as NSPR
.242
Why NSPR?
.242
NSPR Basics
.245
Threads
.249
Additional NSPR Functionality
.260
6
Miscellaneous Portability Topics
.273
Item
18:
Take Care When Using Floating Point
.274
Don't Serialize
Floating-Point
Values as Binary
.276
Equality
.277
Item
19:
Be Explicit Regarding the Sign of Char Types
.278
Item
20:
Avoid the Serialization of Binary Data
.280
Item
21:
Avoid Problems Related to the Size and
Organization of Types
.293
Size of Integer Types
.293
NSPR and Types
.296
Sizes and Efficiency
.297
Integer Conversions
.298
Struct Alignment and Ordering
.299
7
User Interfaces
.303
Item
22:
Separate the User Interface from the Model
.304
Separating the User Interface and Application Logic
with Model/View
.305
-с
Contents
Using Publish/Subscribe to Communicate between
the View and the Model
.318
Summary
.322
Item
23:
Develop a Cross-Platform User Interface Strategy
.323
Issues Affecting Portable Cross-Platform GUI
Development
.323
Choosing a GUI Strategy
.325
8
wxWidgets
.329
wxWidgets
.331
Licensing
.332
Installing wxWidgets
.332
A Simple Example: Hello wxWidgets
.335
Creating the Application User Interface
.337
Building wxWidgets Applications
.345
Controls and Events
.349
Container Widgets
.363
Dialogs
.392
Composite Widgets
.404
Internationalization and Localization
.410
9
Developing a Cross-Platform GUI Toolkit in
C++.427
What is XUL?
.428
DHTML
.429
HTML
.429
Scripting Language
.433
The Document Object Model
.434
Style Systems
.437
XUL
.438
Windows and Dialogs
.439
Boxes
.439
Toolbars
.440
Menus
.441
Controls
.441
Other Widgets
.442
Programming with XUL
.442
Adding Logic to the UI with JavaScript
.443
Contents xi
Interfacing
JavaScript
and
C/C++ Code
with
ХРСОМ
and XPConnect
.444
Trixul
.446
Widget Support in Trixul
.447
Basic Operation of Trixul
.448
Widgets
.449
Implementation Classes
.452
Creating Widget Implementation Objects
.459
Widget Factories
.463
Application Main Loop
.466
Steps Taken by Trixul to Create a User Interface
.471
Documents, Elements, and the DOM
.472
Widget Creation
.475
Layout
. 477
Scrolled Windows and Layout
.484
Integration with JavaScript
.485
Integrating with
C++
Components
.496
Index
.519 |
adam_txt |
Contents
Foreword
.xiii
Preface
.xv
Acknowledgments
.xxiii
About the Author
.xxv
Introduction
.1
Areas That Can Affect Software Portability
.3
The Role of Abstraction
.10
1
Policy and Management
.17
Item
1:
Make All of Your Platforms a Priority
.17
Item
2:
Code from a Common Codebase
.22
Platform Factory Implementations
.29
Implementation Classes
.31
Platform-Specific Processeslmpl Classes
.32
Creating the Instance Hierarchy
.42
Organizing the Project in CVS or SVN
.45
Makefiles and Building the Code
.49
Item
3:
Require Developers to Compile Their Code
with Different Compilers
.52
Item
4:
Require Developers to Build Their Code on
Multiple Platforms
.56
Item
5:
Test Builds on Each Supported Platform
.60
Item
6:
Pay Attention to Compiler Warnings
.61
GNU Flags
.62
Microsoft Visual
C++.63
Vít
vili
Contents
2
Build System/Toolchain
.65
Item
7:
Use Whatever Compiler Makes the Most Sense
for a Platform
.66
Item
8:
Use Native IDEs When Appropriate
.61
Item
9:
Install and Use Cygwin on Windows
.71
Item
10:
Use a Cross-Platform Make System
.16
Make
.77
Building on Windows
.81
AutoconfI
Automake.87
Imake
.91
Installing on Mac OSX
.91
Installing on Windows
.91
Using Imake, an Example
.93
Imakefiles
.94
Building a Complete Program from Multiple Sources
.95
Overriding Defaults with site.
de f.
99
Eliminating Wifdefs in Code
.101
Files Used by Imake
.107
Building Projects with Subdirectories
.108
Building Debug
.130
3
Software Configuration Management
.131
Item
11:
Use a Cross-Platform Bug Reporting and
Tracking System
.132
Accessibility
.133
Ability to Track Platform-Specific Bugs
.133
Bugzilla
.133
Item
12:
Set Up a Tinderbox
.140
Item
13:
Use CVS or Subversion to Manage Source Code
.147
Setting Up and Using CVS
.152
Item
14:
Use Patch
.157
An Example
.158
Patch Options
.161
Dealing with Rejects
.162
Patch and Cross-Platform Development
.163
Contents ix
4 Installation
and Deployment
.165
Item 15:
Provide
Support
for Native Installers
.165
XPInstall .166
Platform Installs
.170
5
Operating System Interfaces and Libraries
.221
Item
16:
Use Standards-Based APIs (For Example, POSIX)
.222
POSIX
.222
Support for POSIX,
SVID, XPG,
and BSD
.226
Using Standards Support in GCC
.227
Microsoft Runtime Library Support for POSIX
.231
Using GCC on Microsoft Windows
.234
Deciding Which Standards to Support
.240
Item
17:
Consider Using a Platform Abstraction Library
Such as NSPR
.242
Why NSPR?
.242
NSPR Basics
.245
Threads
.249
Additional NSPR Functionality
.260
6
Miscellaneous Portability Topics
.273
Item
18:
Take Care When Using Floating Point
.274
Don't Serialize
Floating-Point
Values as Binary
.276
Equality
.277
Item
19:
Be Explicit Regarding the Sign of Char Types
.278
Item
20:
Avoid the Serialization of Binary Data
.280
Item
21:
Avoid Problems Related to the Size and
Organization of Types
.293
Size of Integer Types
.293
NSPR and Types
.296
Sizes and Efficiency
.297
Integer Conversions
.298
Struct Alignment and Ordering
.299
7
User Interfaces
.303
Item
22:
Separate the User Interface from the Model
.304
Separating the User Interface and Application Logic
with Model/View
.305
-с
Contents
Using Publish/Subscribe to Communicate between
the View and the Model
.318
Summary
.322
Item
23:
Develop a Cross-Platform User Interface Strategy
.323
Issues Affecting Portable Cross-Platform GUI
Development
.323
Choosing a GUI Strategy
.325
8
wxWidgets
.329
wxWidgets
.331
Licensing
.332
Installing wxWidgets
.332
A Simple Example: Hello wxWidgets
.335
Creating the Application User Interface
.337
Building wxWidgets Applications
.345
Controls and Events
.349
Container Widgets
.363
Dialogs
.392
Composite Widgets
.404
Internationalization and Localization
.410
9
Developing a Cross-Platform GUI Toolkit in
C++.427
What is XUL?
.428
DHTML
.429
HTML
.429
Scripting Language
.433
The Document Object Model
.434
Style Systems
.437
XUL
.438
Windows and Dialogs
.439
Boxes
.439
Toolbars
.440
Menus
.441
Controls
.441
Other Widgets
.442
Programming with XUL
.442
Adding Logic to the UI with JavaScript
.443
Contents xi
Interfacing
JavaScript
and
C/C++ Code
with
ХРСОМ
and XPConnect
.444
Trixul
.446
Widget Support in Trixul
.447
Basic Operation of Trixul
.448
Widgets
.449
Implementation Classes
.452
Creating Widget Implementation Objects
.459
Widget Factories
.463
Application Main Loop
.466
Steps Taken by Trixul to Create a User Interface
.471
Documents, Elements, and the DOM
.472
Widget Creation
.475
Layout
. 477
Scrolled Windows and Layout
.484
Integration with JavaScript
.485
Integrating with
C++
Components
.496
Index
.519 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Logan, Syd |
author_facet | Logan, Syd |
author_role | aut |
author_sort | Logan, Syd |
author_variant | s l sl |
building | Verbundindex |
bvnumber | BV035085525 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.D47 |
callnumber-search | QA76.76.D47 |
callnumber-sort | QA 276.76 D47 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 250 |
classification_tum | DAT 434f DAT 358f |
ctrlnum | (OCoLC)636159581 (DE-599)BVBBV035085525 |
dewey-full | 005.13/3 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.13/3 |
dewey-search | 005.13/3 |
dewey-sort | 15.13 13 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000zc 4500</leader><controlfield tag="001">BV035085525</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20120628</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">081007s2008 xxua||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2007036292</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">032124642X</subfield><subfield code="c">pbk. : alk. paper</subfield><subfield code="9">0-321-24642-X</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321246424</subfield><subfield code="c">pbk. : alk. paper</subfield><subfield code="9">978-0-321-24642-4</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)636159581</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035085525</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.76.D47</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.13/3</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 434f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 358f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Logan, Syd</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Cross-platform development in C++</subfield><subfield code="b">building Mac OS X, Linux, and Windows applications</subfield><subfield code="c">Syd Logan</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ ; Munich [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxv, 547 p.</subfield><subfield code="b">ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes index.</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C++ (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Logiciels multiplateformes</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Cross-platform software development</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C++ (Computer program language)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016753710&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016753710</subfield></datafield></record></collection> |
id | DE-604.BV035085525 |
illustrated | Illustrated |
index_date | 2024-07-02T22:08:46Z |
indexdate | 2024-09-06T00:15:22Z |
institution | BVB |
isbn | 032124642X 9780321246424 |
language | English |
lccn | 2007036292 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016753710 |
oclc_num | 636159581 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM |
owner_facet | DE-91G DE-BY-TUM |
physical | xxv, 547 p. ill. |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | Addison-Wesley |
record_format | marc |
spelling | Logan, Syd Verfasser aut Cross-platform development in C++ building Mac OS X, Linux, and Windows applications Syd Logan Upper Saddle River, NJ ; Munich [u.a.] Addison-Wesley 2008 xxv, 547 p. ill. txt rdacontent n rdamedia nc rdacarrier Includes index. C++ (Langage de programmation) Logiciels multiplateformes Cross-platform software development C++ (Computer program language) C++ (DE-588)4193909-8 gnd rswk-swf C++ (DE-588)4193909-8 s DE-604 Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016753710&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Logan, Syd Cross-platform development in C++ building Mac OS X, Linux, and Windows applications C++ (Langage de programmation) Logiciels multiplateformes Cross-platform software development C++ (Computer program language) C++ (DE-588)4193909-8 gnd |
subject_GND | (DE-588)4193909-8 |
title | Cross-platform development in C++ building Mac OS X, Linux, and Windows applications |
title_auth | Cross-platform development in C++ building Mac OS X, Linux, and Windows applications |
title_exact_search | Cross-platform development in C++ building Mac OS X, Linux, and Windows applications |
title_exact_search_txtP | Cross-platform development in C++ building Mac OS X, Linux, and Windows applications |
title_full | Cross-platform development in C++ building Mac OS X, Linux, and Windows applications Syd Logan |
title_fullStr | Cross-platform development in C++ building Mac OS X, Linux, and Windows applications Syd Logan |
title_full_unstemmed | Cross-platform development in C++ building Mac OS X, Linux, and Windows applications Syd Logan |
title_short | Cross-platform development in C++ |
title_sort | cross platform development in c building mac os x linux and windows applications |
title_sub | building Mac OS X, Linux, and Windows applications |
topic | C++ (Langage de programmation) Logiciels multiplateformes Cross-platform software development C++ (Computer program language) C++ (DE-588)4193909-8 gnd |
topic_facet | C++ (Langage de programmation) Logiciels multiplateformes Cross-platform software development C++ (Computer program language) C++ |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016753710&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT logansyd crossplatformdevelopmentincbuildingmacosxlinuxandwindowsapplications |