Common Package Specification (CPS) in Practice: A Full Round Trip Implementation in Conan C++ Package
Common Package Specification (CPS) in practice: A full round trip implementation in Conan C++ package manager CppCon24Outline - Introduction to Common Package Specification (CPS) - Creation of CPS CMake projects Why a Common Package Specification (CPS) 4Common Package Specification (CPS) ZLib zlib.cps 5 …Existing solutions Searching for Convergence in C++ Package Management - Bret Brown & Daniel Daniel Ruoso - CppNow 2022 Case For a Standardized Package Description Format for External C++ Libraries by Luis Caro Campos - CppCon22 6 set(_ZLIB_x86 "(x86)") set(_ZLIB_SEARCH_NORMAL PATHS "[HKE0 码力 | 66 页 | 1.76 MB | 5 月前3A Journey Into Non-Virtual Polymorphism
Rud Merriam | A Journey into Non-Virtual Polymorphism 2 Who Doesn’t Recognize This?? 1990 Borland Turbo C++Cppcon 2023 | Rud Merriam | A Journey into Non-Virtual Polymorphism 3 Background ● Experience – Medium.com (https://medium.com/@rudmerriam)Cppcon 2023 | Rud Merriam | A Journey into Non-Virtual Polymorphism 4 Polymorphism ● Greek: “many forms” (Obligatory statement) ● The use of a single variableCppcon 2023 | Rud Merriam | A Journey into Non-Virtual Polymorphism 5 Polymorphic Variables ● Base class pointer to derived class – Virtual functions are not bad! ● Standard Template Library0 码力 | 43 页 | 536.84 KB | 5 月前3Optimizing Away Virtual Functions May Be Pointless
carePhoto by Tech Nick on unsplashSimple benchmark class Base { public: int concrete() const; virtual int virt() const; }; void benchmark(Base *b, size_t num_iterations) { auto start = Clock::now(); virt_duration = end-start;There are interesting technical details and surprising conclusions that virtual functions can be actually faster. Since CPU architectures are mentioned, I'd expect to see deep nt-vs-inheritance-vs-other- ways-performanceDoes it even matter?Conclusions ● The notion that “virtual functions are slower” is flat out wrong. ○ Which is not to say they are faster ○ Some of the suggested0 码力 | 20 页 | 1.19 MB | 5 月前3Common Package Specification: Getting Build Tools to Talk to Each Other
A Common Package Specification: Getting Build Tools to Talk to Each Other Lessons Learned From Making Thousands of Binaries Consumable by Any Build System Diego Rodriguez-Losada @ CppCon 2023Outline configuration: Windows, x86_64, VS-2022, Release, static library 3. Install (system package manager or language package manager), build from source by the user, with that configuration 4. Pass information main(void){ … deflateInit(&defstream, Z_BEST_COMPRESSION); Build system scripts What is a package 5 ZLib - Independent unit of build and release (versionable) - Ready to use (binary)#include0 码力 | 94 页 | 1.58 MB | 5 月前3BehaviorTree.CPP: Task Planning for Robots and Virtual Agents
name, const NodeConfig& config) : SyncActionNode(name, config) {} // You must override this virtual function NodeStatus tick() override { std::cout << "Type: [ApproachEnemy]. Instance:" <<0 码力 | 59 页 | 7.97 MB | 5 月前3Conan 1.3 Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Decentralized package manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Binary management sources in the same repo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.3 Package development flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 6.6 Define package ABI compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 i0 码力 | 397 页 | 2.77 MB | 1 年前3Conan 1.7 Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Decentralized package manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.6 Defining Package ABI Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.7 Inspecting Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.9 Package Creator Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 433 页 | 2.95 MB | 1 年前3Conan 1.6 Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Decentralized package manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.6 Define package ABI compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.9 Tools for package creators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6 Uploading0 码力 | 428 页 | 2.87 MB | 1 年前3Conan 1.5 Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Decentralized package manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Binary management packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6.6 Define package ABI compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.9 Tools for package creators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 7 Uploading0 码力 | 422 页 | 2.85 MB | 1 年前3Conan 1.4 Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Decentralized package manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Binary management packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6.6 Define package ABI compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.9 Tools for package creators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 7 Uploading0 码力 | 421 页 | 2.84 MB | 1 年前3
共 204 条
- 1
- 2
- 3
- 4
- 5
- 6
- 21