What is an Input Method and what do we need it for? To answer that question, let's see what Wikipedia says: "An input method (or input method editor, commonly abbreviated IME) is an operating system component or program that allows any data, such as keyboard strokes or mouse movements, to be received as input. In […]
Qt is a native library at the heart. As a native (C++) library, it already outperforms most higher-level language libraries when it comes to startup performance. But if you're using native languages, you usually do so because you need to get the most out of the available hardware and being just fast may not be […]
...just think of performance constrained embedded platforms. But how do you make your C++ application faster? This talk will show you how to find bottlenecks in a C++ program using various tools. Then we will look into some solutions to common issues and top it off with some guidelines for new code. Abstract: Often one […]
by Marc Mutz, former employee at KDAB, at Meeting C++ 2014 Abstract: C++11 is now widely available, and so is C++14. Like for users of the language, C++11/14 is a new language for C++ library writers, too. In this talk, we will walk you through the new C++ features that impact class design. We will show guidelines that […]
Last week I visited a new customer who is making medical and industrial devices which have one thing in common: image and video capturing, and letting the user save these files onto a USB key. These devices run embedded Linux and the application is done in Qt (and gstreamer for the video capture). The new […]
Hybrid applications, which mix a UI built with Qt Widgets or Qt Quick with embedded HTML websites, are very popular. In particular, something like an HTML 5 app framework is often requested by customers. Qt WebKit makes it trivial to embed HTML content in any graphical application. But how does one bridge the gap between […]
CMake 3.0 was released last week with many major new features and new Qt integration for uic and rcc. A major change with this CMake release is the new documentation system based on reStructuredText and Sphinx. Sphinx has the ability to generate Qt Assistant files, so these are now easy to create reproducibly from the […]
Earlier this month, KDAB attended the Meeting C++ conference in Düsseldorf as a Gold Sponsor. The conference was well attended by people from across the spectrum of C++ use, and with a wide variety of expertise. Attendees were enthusiastic and interested in getting the most out of C++11, sharing knowledge about the direction of C++, […]
(NOTE: this blog post has been edited many times since its original publication) You've heard of valgrind before, its default tool (memcheck) is such a life saver, being able to detect memory-related bugs in your code (leaks, double deletions, use of deleted memory, use of uninitialized memory, etc.). Well, it turns out that valgrind also […]
KDAB is now offering three-day training courses on C++11, the new C++ version that was introduced in 2011. C++11 will become more and more important in the C++ ecosystem, eventually becoming the most prevalent version. Every professional developer should invest in learning the new language version and try introducing its benefits into projects. And for […]
CMake is a buildsystem generator developed in the open, and widely used for Qt based development. Especially when creating large or complex software, CMake can be more suitable to use than QMake. KDE was even the tipping point for the popularity of CMake in general, and with Qt 4 in particular, according to Bill Hoffman. […]
KDAB specializes in Modern C++ development, focusing on desktop applications, GUI, embedded software, and operating systems. Our industry-recognized experts leverage C++ to deliver high-quality software solutions.
Explore how KDAB leverages its expertise in Qt, QML, C++, and web technologies to create efficient HTML5 application development stacks. This article discusses best practices for building hybrid applications, integrating Qt WebEngine, and utilizing Qt WebChannel for seamless communication between C++/QML and web clients. Discover how KDAB can help you achieve powerful results by mixing native and web technologies.
Giuseppe D’Angelo,
Ivan Čukić
Discover the new features of C++20 update in programming. Equip yourself with the skills to stay on top of advancements.
Andrew Hayzen,
Leon Matthes,
Florian Gilcher
While an all-Rust approach works for some systems, most companies have extensive existing C and C++ code. Rust's design, rooted in Mozilla Firefox's development, has always aimed to integrate with these languages. By consulting Rust experts, we've developed guidelines for harmoniously blending Rust with C and C++ in various scenarios.
Ivan Čukić,
Matthias Kalle Dalheimer
The C++ programming language is used for operating systems, web browsers, games, embedded software, autonomous cars, medical technology, and many other applications. In 2020, major companies such as Facebook, Google, Amazon, and many others relied on C++ to run their data centers, and likely they still do.
Since its inception over four decades ago, C++ has expanded many times with performance, efficiency, and flexibility of use as its main design highlights.
When C++20 became generally available in December 2020, we talked to a panel of C++ experts, evangelists, and devotees from both sides of the pond to understand a little more about C++ – its current position in the development community, its history, and its future. Much of what we learnt then is still relevant today.
New releases of the C++ language maintain incredibly strong backwards compatibility, making it easy to keep older C++ code working properly as standards march forward. C++ version from C++11 to C++23 have transformed the C++ language making it as programmer-friendly as more recent languages but with many essential benefits that continue to make it the best choice for the most demanding software-engineering projects. Modernizing your C++ may be the best way to both improve your team’s efficiency as well as future-proof your software investment.
KDAB has broad, deep experience delivering cost-effective, long-term, pragmatic solutions that modernize existing C++ codebases without losing functionality during the process.
New releases of the C++ language maintain incredibly strong backwards compatibility, making it easy to keep older C++ code working properly as standards march forward. C++11, C++14, and C++17 have transformed the C++ language making it as programmer-friendly as more recent languages but with many essential benefits that continue to make it the best choice for the most demanding software-engineering projects. Modernizing your C++ may be the best way to both improve your team’s efficiency as well as future-proof your software investment.