Back To Basics Lifetime Management
0 码力 | 66 页 | 8.43 MB | 5 月前3Libraries: A First Step Toward Standard C++ Dependency Management
1October 3, 2023 2 Libraries: A First Step Toward Standard C++ Dependency Management Bret Brown, C++ Infrastructure Lead, Bloomberg Bill Hoffman, CTO, KitwareHello! Welcome! Bret Brown C++ Infrastructure portable as the code they contain! ● ✓ Projects should be “cattle,” not “pets”! 7Why dependency management? 8Consensus: Managing dependencies == way too hard Q: Which of these do you find frustrating names: jsonlogConfig.cmake Jsonlog-config.cmake # ... CMake gives you some dependency management tips here ... 13 Aside: Coloring and bolding added for emphasisMotivation: What would we design0 码力 | 82 页 | 4.21 MB | 5 月前3Exceptionally Bad: The Story on the Misuse of Exceptions and How to Do Better
and usually rethrows the exception 27 Bloomberg Exceptional Resource Management30 Bloomberg Exceptional Resource Management int process_file(const std::string& fileName_) { FILE * f = ::fopen(fileName_ ::fclose(f); throw; } ::fclose(f); return rc; } Resource release Bug31 Bloomberg Exceptional Resource Management Use RAII : struct FileManager { FileManager(const std::string& fileName_) : fptr{::fopen(fileName_ resource and usually rethrows the exception Conclusion : Use RAII over catch handlers for resource management 32 Bloomberg Exceptional Resource ManagementSituation : I have a potentially temporary problem0 码力 | 85 页 | 2.32 MB | 5 月前3Conan 1.16 Documentation
manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Cross which is moderated, and packages are reviewed before being accepted to ensure quality. 1.3 Binary management One of the most powerful features of Conan is that it can manage pre-compiled binaries for packages other projects. This allows to clean your current project and continue working even without network connection. To search for packages in the local cache run: $ conan search "*" Existing package recipes:0 码力 | 545 页 | 4.34 MB | 1 年前3Conan 1.14 Documentation
manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Cross which is moderated, and packages are reviewed before being accepted to ensure quality. 1.3 Binary management One of the most powerful features of Conan is that it can manage pre-compiled binaries for packages other projects. This allows to clean your current project and continue working even without network connection. To search for packages in the local cache run: $ conan search "*" Existing package recipes:0 码力 | 528 页 | 4.17 MB | 1 年前3Conan 1.15 Documentation
manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Cross which is moderated, and packages are reviewed before being accepted to ensure quality. 1.3 Binary management One of the most powerful features of Conan is that it can manage pre-compiled binaries for packages other projects. This allows to clean your current project and continue working even without network connection. To search for packages in the local cache run: $ conan search "*" Existing package recipes:0 码力 | 540 页 | 4.22 MB | 1 年前3Conan 1.19 Documentation
manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Cross which is moderated, and packages are reviewed before being accepted to ensure quality. 1.3 Binary management One of the most powerful features of Conan is that it can manage pre-compiled binaries for packages other projects. This allows to clean your current project and continue working even without network connection. To search for packages in the local cache run: $ conan search "*" Existing package recipes:0 码力 | 609 页 | 4.88 MB | 1 年前3Conan 1.20 Documentation
manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Cross which is moderated, and packages are reviewed before being accepted to ensure quality. 1.3 Binary management One of the most powerful features of Conan is that it can manage pre-compiled binaries for packages other projects. This allows to clean your current project and continue working even without network connection. To search for packages in the local cache run: $ conan search "*" Existing package recipes:0 码力 | 611 页 | 4.89 MB | 1 年前3Conan 1.11 Documentation
manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Cross which is moderated, and packages are reviewed before being accepted to ensure quality. 1.3 Binary management One of the most powerful features of Conan is that it can manage pre-compiled binaries for packages other projects. This allows to clean your current project and continue working even without network connection. To search for packages in the local cache run: $ conan search "*" Existing package recipes:0 码力 | 490 页 | 4.05 MB | 1 年前3Conan 1.17 Documentation
manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Cross which is moderated, and packages are reviewed before being accepted to ensure quality. 1.3 Binary management One of the most powerful features of Conan is that it can manage pre-compiled binaries for packages other projects. This allows to clean your current project and continue working even without network connection. To search for packages in the local cache run: $ conan search "*" Existing package recipes:0 码力 | 567 页 | 4.53 MB | 1 年前3
共 155 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16