Abstraction Patterns for Cross Platform Development Using C++ - Al-Afiq Yeong - CppCon 2023

  Рет қаралды 5,865

CppCon

CppCon

2 ай бұрын

cppcon.org/
---
Abstraction Patterns for Cross Platform Development Using C++ - Al-Afiq Yeong - CppCon 2023
github.com/CppCon/CppCon2023
Writing code that's intended to work across multiple platforms; be it hardware, graphics APIs, online storefronts or operating systems can be rather difficult. Many software engineers struggle when it comes to abstracting code especially junior engineers be it for a commercial software or a hobby project. To make matters worse, there's often not a lot of materials covering such as advance topic. This presentation aims to discuss several abstraction patterns that can be used to write cross platform code using the features and tools that C++ and operating system offers, from the bad to the good as well as the benefits and pitfalls of each method in terms of complexity, maintainability and performance. A case study of several cross-platform frameworks will also be included in the presentation. Hopefully this presentation will serve as a starting point and become the main reference for engineers across multiple experience levels across various industries when writing cross platform code.
---
Al-Afiq Yeong
Al-Afiq Yeong is a Software Engineer currently working in the Engine team at Criterion. His day to day involves performance monitoring games, making sure memory gets managed efficiently and developing new technologies that will empower future games developed with Frostbite. Prior to games, he was a full stack developer maintaining and building web apps in the service, nuclear and finance industry. Outside work, he spends most of his time writing his own rendering engine while trying to avoid the allure of the games sitting in his Steam library.
---
Videos Filmed & Edited by Bash Films: www.BashFilms.com
KZbin Channel Managed by Digital Medium Ltd: events.digital-medium.co.uk
---
Registration for CppCon: cppcon.org/registration/
#cppcon #cppprogramming #cpp #abstraction

Пікірлер: 14
@insu_na
@insu_na 2 ай бұрын
Very interesting talk. I learned things that I can actually use frequently
@younghsiang2509
@younghsiang2509 Ай бұрын
Impressive talk !
@Roibarkan
@Roibarkan 2 ай бұрын
26:37 Ivica’s talk: kzbin.info/www/bejne/pGezp6l7lNl4hs0
@PaulMetalhero
@PaulMetalhero 2 ай бұрын
Man, I cannot wait for the final release of the SDL3 library!
@mrlithium69
@mrlithium69 2 ай бұрын
Good explanation of real concepts I need
@chetanpandey8722
@chetanpandey8722 18 күн бұрын
Great talk. But I was not able to understand the disadvantage that you discussed of PIMPL and handle, that is 2 definition for one declaration. Can someone explain that to me or point me to some article where I could read about this.
@WakeUp4L1fe
@WakeUp4L1fe 2 ай бұрын
Why there are #pragma once AND #ifdef guards used at the same time?
@sqw33k
@sqw33k 2 ай бұрын
21:46 Why on earth would you use both #pragma once AND #ifndef?
@prouleau4440
@prouleau4440 2 ай бұрын
My guess is: you want to be cross platform but not all compilers support "#pragma once". 😒
@synchronizx5459
@synchronizx5459 2 ай бұрын
#pragma once is a "modern" way for header guard, but some old compiler can not recognize it. From the view of compilation performance, the modern compilers tend to avoid including those headers that have been included, while the old apporach is simply include then ignore the whole contents. I think using both of them is for the considration of compatibility, which is the topic of this talk.
@tejasgarhewal7509
@tejasgarhewal7509 2 ай бұрын
​@@synchronizx5459 are there any compilers though that recognise #pragma once but not #ifndef ? If none, then why bother with the pragma at all and stick to #ifndef if one cares about compatibility?
@hemmy123
@hemmy123 2 ай бұрын
how "#pragma once" works is implementation specific, #ifndef is not. This can be relevant when you have very complex build systems (particually distributed build systems), where #pragma once can sometimes cause issues due to implementation. If you're building all on your own machine or just your own code, 99.99% of the time it won't matter
@higaski
@higaski 2 ай бұрын
Good talk overall, but I think the comparisons are lacking at least one dimension. E.g. I'd argue #ifdef is perfectly fine if it's for a single line of code.
Back to Basics: Testing in C++ - Phil Nash - CppCon 2023
1:02:33
Cute Barbie Gadget 🥰 #gadgets
01:00
FLIP FLOP Hacks
Рет қаралды 33 МЛН
100❤️ #shorts #construction #mizumayuuki
00:18
MY💝No War🤝
Рет қаралды 20 МЛН
Bjarne Stroustrup: C++ | Lex Fridman Podcast #48
1:47:13
Lex Fridman
Рет қаралды 1 МЛН
2023-11- David Stone - The State of C++ Modules
1:16:34
Denver C++ Meetup
Рет қаралды 2,5 М.
HACKING UNITY GAMES (FOR NOOBS)
16:11
cazz
Рет қаралды 18 М.
Back to Basics: Lambdas - Nicolai Josuttis - CppCon 2021
1:05:21
GCAP 2016: Parallel Game Engine Design - Brooke Hodgman
1:03:56
POCO F6 PRO - ЛУЧШИЙ POCO НА ДАННЫЙ МОМЕНТ!
18:51
5 НЕЛЕГАЛЬНЫХ гаджетов, за которые вас посадят
0:59
Кибер Андерсон
Рет қаралды 1,2 МЛН
Эволюция телефонов!
0:30
ТРЕНДИ ШОРТС
Рет қаралды 6 МЛН