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 月前3Oracle VM VirtualBox 4.1.40 User Manual
. . . . . . . . . . . . . 16 1.7 Creating your first virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.8 Running your virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.10 Virtual machine configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.11 Removing virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.12 Cloning virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.13 Importing and exporting virtual machines . . . . . . . . . . . . . . . .0 码力 | 310 页 | 4.87 MB | 5 月前3Oracle VM VirtualBox 4.2.32 User Manual
. . . . . . . . . . . . . 17 1.7 Creating your first virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.8 Running your virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.11 Virtual machine configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.12 Removing virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.13 Cloning virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.14 Importing and exporting virtual machines . . . . . . . . . . . . . . . .0 码力 | 348 页 | 5.93 MB | 5 月前3Oracle VM VirtualBox 4.3.36 User Manual
. . . . . . . . . . . . . 17 1.7 Creating your first virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.8 Running your virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.11 Virtual machine configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.12 Removing virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.13 Cloning virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.14 Importing and exporting virtual machines . . . . . . . . . . . . . . . .0 码力 | 380 页 | 3.79 MB | 5 月前3Oracle VM VirtualBox 5.2.40 User Manual
. . . . . . . . . . . . . 18 1.8 Creating your first virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.9 Running your virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.12 Virtual machine configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.13 Removing virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.14 Cloning virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.15 Importing and exporting virtual machines . . . . . . . . . . . . . . . .0 码力 | 387 页 | 4.27 MB | 5 月前3Oracle VM VirtualBox 5.2.12 User Manual
. . . . . . . . . . . . . 18 1.8 Creating your first virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.9 Running your virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.12 Virtual machine configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.13 Removing virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.14 Cloning virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.15 Importing and exporting virtual machines . . . . . . . . . . . . . . . .0 码力 | 380 页 | 4.23 MB | 5 月前3
共 186 条
- 1
- 2
- 3
- 4
- 5
- 6
- 19