SlideShare une entreprise Scribd logo
1  sur  2
Télécharger pour lire hors ligne
Collection	of	interesting	resources	on	
C/C++	programming
Author: Andrey Karpov
Date: 16.05.2012
I constantly study the Web regarding new articles on C/C++/C++11 programming. If I find them
interesting, I post links to them in twitter @Code_Analysis, on Reddit /r/Viva64 and like them on
StumbleUpon. If you are present on one of these websites, I invite you to follow me. You will find a lot of
interesting articles in time. To get you interested, I decided to create a small selection of materials.
First of all, of course, I would like to recommend you our viva64.com website. There you can find a lot of
articles and blog posts regarding development of quality code. For example, I invite you to see 28
lessons on developing 64-bit software in C/C++.
For the purpose of convenience I have arranged the links into several subjects. Enjoy reading.
Note. Usually we wrap links to manage their integrity. I wrote about this brave fight against chaos in the
article "d'Artagnan and Internet, or working on the problem of bad links". Unfortunately, I will give direct
links this time. These materials will significantly enlarge the link base, which means that we will have
much work to do in case the articles are moved.
C++ as large as life
• A large list of famous projects developed in C/C++: C++ Applications. How can anyone say that
C++ is becoming extinct after that?
• Computer Language Benchmarks Game. As usual, Fortran, C and C++ languages are the leaders
regarding performance. And it will hardly change in the nearest future. If you are developing
resource-intensive software, the C++ language will be most probably the best choice.
• Why is C++ still a very popular language in quantitative finance?
• Why do they program in C++?
• 9 reasons to start using C++11
Interesting blogs
• Steve Hanov's Blog
• Visual C++ Team Blog
• The Old New Thing
Floating-point arithmetic
• What Every Computer Scientist Should Know About Floating-Point Arithmetic
• Tricks With the Floating-Point Format
• Stupid Float Tricks
• Comparing Floating Point Numbers, 2012 Edition
Various programming tricks
• Bit Twiddling Hacks
• Table-driven methods with no relocations
• Reduce Compilation Dependencies in Large Scale C++ Projects: Factory Pattern
• Exceptions in C with Longjmp and Setjmp
• Catching Integer Overflows in C. Article N1, N2
• Cool C Tricks
Character encoding and control characters
• Unicode, UTF-8 and all that: An intentionally incomplete character set introduction for hasty C
programmers
• What the xxxx Is UTF-8? A Character Encoding Primer.
• ASCII Characters
• Control character
• The UTF-8 Everywhere manifesto
Coding standards
• Google C++ Style Guide
• CERT. C Secure Coding Standard, C++ Secure Coding Standard
• Joint Strike Fighter (F-35) C++ Coding Standard
Groups
• Reddit: Cpp, C_Programming.
• Facebook: C++ Programming, For the love of C++, C Programming, Visual C++ Developer, C Plus
Plus (C++)
• LinkedIN: C++ Community Group, C++ Developers Forum, C++ Developers Group, C++
Professionals
Miscellaneous
• What's Wrong With GNU make?
• Why strncpy is no safer than strcpy: strncpy? just say no
• A Guide to Undefined Behavior in C and C++. Part N1, N2, N3
• Compilation of 64-bit software in Visual C++ 2008 Express Edition. Visual C++ 2008 Express
Edition And 64-Bit Targets
• Windows Data Alignment on IPF, x86, and x64
• C/C++ Low Level Curriculum. Part N1, N2, N3, N4, N5, N6, N7, N8
• Links to various resources on the C++ language. The list contains links to many obsolete
resources, but it is worth studying.
• Functional Programming in C++
• The C++ Lands (a funny picture)
• Translate C declaration
• Arbitrary Data Sizes with C

Contenu connexe

En vedette

Understanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile BrowsersUnderstanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile BrowsersAriya Hidayat
 
The overview of VR solutions
The overview of VR solutionsThe overview of VR solutions
The overview of VR solutionsRouyun Pan
 
Introduction to Skia by Ryan Chou @20141008
Introduction to Skia by Ryan Chou @20141008Introduction to Skia by Ryan Chou @20141008
Introduction to Skia by Ryan Chou @20141008Ryan Chou
 
Optimizing Browser Rendering
Optimizing Browser RenderingOptimizing Browser Rendering
Optimizing Browser Renderingmichael.labriola
 
Chrome Internals: Paint and Composition
Chrome Internals: Paint and CompositionChrome Internals: Paint and Composition
Chrome Internals: Paint and CompositionDzmitry Varabei
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 
Google I/O 2013 - Android Graphics Performance
Google I/O 2013 - Android Graphics PerformanceGoogle I/O 2013 - Android Graphics Performance
Google I/O 2013 - Android Graphics PerformanceDouO
 
Device tree support on arm linux
Device tree support on arm linuxDevice tree support on arm linux
Device tree support on arm linuxChih-Min Chao
 
Inside Android's UI
Inside Android's UIInside Android's UI
Inside Android's UIOpersys inc.
 
Analyzing Display and Performance with Systrace
Analyzing Display and Performance with SystraceAnalyzing Display and Performance with Systrace
Analyzing Display and Performance with SystraceRouyun Pan
 
How browser engines work?
How browser engines work?How browser engines work?
How browser engines work?haricot
 
Introduction to Browser Internals
Introduction to Browser InternalsIntroduction to Browser Internals
Introduction to Browser InternalsSiva Arunachalam
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depthChris Simmonds
 
Android internals 07 - Android graphics (rev_1.1)
Android internals 07 - Android graphics (rev_1.1)Android internals 07 - Android graphics (rev_1.1)
Android internals 07 - Android graphics (rev_1.1)Egor Elizarov
 

En vedette (17)

Understanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile BrowsersUnderstanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile Browsers
 
The overview of VR solutions
The overview of VR solutionsThe overview of VR solutions
The overview of VR solutions
 
Introduction to Skia by Ryan Chou @20141008
Introduction to Skia by Ryan Chou @20141008Introduction to Skia by Ryan Chou @20141008
Introduction to Skia by Ryan Chou @20141008
 
Optimizing Browser Rendering
Optimizing Browser RenderingOptimizing Browser Rendering
Optimizing Browser Rendering
 
Device tree
Device treeDevice tree
Device tree
 
Imaging on embedded GPUs
Imaging on embedded GPUsImaging on embedded GPUs
Imaging on embedded GPUs
 
Chrome Internals: Paint and Composition
Chrome Internals: Paint and CompositionChrome Internals: Paint and Composition
Chrome Internals: Paint and Composition
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 
Google I/O 2013 - Android Graphics Performance
Google I/O 2013 - Android Graphics PerformanceGoogle I/O 2013 - Android Graphics Performance
Google I/O 2013 - Android Graphics Performance
 
Device tree support on arm linux
Device tree support on arm linuxDevice tree support on arm linux
Device tree support on arm linux
 
Inside Android's UI
Inside Android's UIInside Android's UI
Inside Android's UI
 
Analyzing Display and Performance with Systrace
Analyzing Display and Performance with SystraceAnalyzing Display and Performance with Systrace
Analyzing Display and Performance with Systrace
 
How browser engines work?
How browser engines work?How browser engines work?
How browser engines work?
 
Introduction to Browser Internals
Introduction to Browser InternalsIntroduction to Browser Internals
Introduction to Browser Internals
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depth
 
Introduction to Android Window System
Introduction to Android Window SystemIntroduction to Android Window System
Introduction to Android Window System
 
Android internals 07 - Android graphics (rev_1.1)
Android internals 07 - Android graphics (rev_1.1)Android internals 07 - Android graphics (rev_1.1)
Android internals 07 - Android graphics (rev_1.1)
 

Dernier

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Dernier (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Collection of interesting resources on C/C++ programming

  • 1. Collection of interesting resources on C/C++ programming Author: Andrey Karpov Date: 16.05.2012 I constantly study the Web regarding new articles on C/C++/C++11 programming. If I find them interesting, I post links to them in twitter @Code_Analysis, on Reddit /r/Viva64 and like them on StumbleUpon. If you are present on one of these websites, I invite you to follow me. You will find a lot of interesting articles in time. To get you interested, I decided to create a small selection of materials. First of all, of course, I would like to recommend you our viva64.com website. There you can find a lot of articles and blog posts regarding development of quality code. For example, I invite you to see 28 lessons on developing 64-bit software in C/C++. For the purpose of convenience I have arranged the links into several subjects. Enjoy reading. Note. Usually we wrap links to manage their integrity. I wrote about this brave fight against chaos in the article "d'Artagnan and Internet, or working on the problem of bad links". Unfortunately, I will give direct links this time. These materials will significantly enlarge the link base, which means that we will have much work to do in case the articles are moved. C++ as large as life • A large list of famous projects developed in C/C++: C++ Applications. How can anyone say that C++ is becoming extinct after that? • Computer Language Benchmarks Game. As usual, Fortran, C and C++ languages are the leaders regarding performance. And it will hardly change in the nearest future. If you are developing resource-intensive software, the C++ language will be most probably the best choice. • Why is C++ still a very popular language in quantitative finance? • Why do they program in C++? • 9 reasons to start using C++11 Interesting blogs • Steve Hanov's Blog • Visual C++ Team Blog • The Old New Thing Floating-point arithmetic • What Every Computer Scientist Should Know About Floating-Point Arithmetic • Tricks With the Floating-Point Format • Stupid Float Tricks • Comparing Floating Point Numbers, 2012 Edition
  • 2. Various programming tricks • Bit Twiddling Hacks • Table-driven methods with no relocations • Reduce Compilation Dependencies in Large Scale C++ Projects: Factory Pattern • Exceptions in C with Longjmp and Setjmp • Catching Integer Overflows in C. Article N1, N2 • Cool C Tricks Character encoding and control characters • Unicode, UTF-8 and all that: An intentionally incomplete character set introduction for hasty C programmers • What the xxxx Is UTF-8? A Character Encoding Primer. • ASCII Characters • Control character • The UTF-8 Everywhere manifesto Coding standards • Google C++ Style Guide • CERT. C Secure Coding Standard, C++ Secure Coding Standard • Joint Strike Fighter (F-35) C++ Coding Standard Groups • Reddit: Cpp, C_Programming. • Facebook: C++ Programming, For the love of C++, C Programming, Visual C++ Developer, C Plus Plus (C++) • LinkedIN: C++ Community Group, C++ Developers Forum, C++ Developers Group, C++ Professionals Miscellaneous • What's Wrong With GNU make? • Why strncpy is no safer than strcpy: strncpy? just say no • A Guide to Undefined Behavior in C and C++. Part N1, N2, N3 • Compilation of 64-bit software in Visual C++ 2008 Express Edition. Visual C++ 2008 Express Edition And 64-Bit Targets • Windows Data Alignment on IPF, x86, and x64 • C/C++ Low Level Curriculum. Part N1, N2, N3, N4, N5, N6, N7, N8 • Links to various resources on the C++ language. The list contains links to many obsolete resources, but it is worth studying. • Functional Programming in C++ • The C++ Lands (a funny picture) • Translate C declaration • Arbitrary Data Sizes with C