Given the amount of software written over the last three decades, a lot of system software is written in C/C++. It's more likely that you may want to link to an existing library written in C/C++ for use in Rust, as rewriting everything in Rust (though desirable) is not practical for complex projects. But at the same time, writing manual FFI bindings for these libraries is also painful and error-prone. Fortunately, there are tools for us to automatically generate bindings to C/C++ libraries. For this demo, the required code on the Rust side is much simpler than the previous example of calling C/C++ code from Rust, as, this time, we'll use a neat crate called bindgen that automatically generates FFI bindings from C/C++ libraries. Bindgen is the recommended tool if someone wants to integrate a complex library with lots of APIs. Writing...
            United States
            
            Great Britain
            
            India
            
            Germany
            
            France
            
            Canada
            
            Russia
            
            Spain
            
            Brazil
            
            Australia
            
            Singapore
            
            Canary Islands
            
            Hungary
            
            Ukraine
            
            Luxembourg
            
            Estonia
            
            Lithuania
            
            South Korea
            
            Turkey
            
            Switzerland
            
            Colombia
            
            Taiwan
            
            Chile
            
            Norway
            
            Ecuador
            
            Indonesia
            
            New Zealand
            
            Cyprus
            
            Denmark
            
            Finland
            
            Poland
            
            Malta
            
            Czechia
            
            Austria
            
            Sweden
            
            Italy
            
            Egypt
            
            Belgium
            
            Portugal
            
            Slovenia
            
            Ireland
            
            Romania
            
            Greece
            
            Argentina
            
            Netherlands
            
            Bulgaria
            
            Latvia
            
            South Africa
            
            Malaysia
            
            Japan
            
            Slovakia
            
            Philippines
            
            Mexico
            
            Thailand