 Session Types in C++Background in compilers and embedded systems... 2Motive? 3Motive: Can it be done in C++? 4Session type 5Session type ? 6"A normal adult programmer never gives a thought about types. That is something C++, we can settle with this explanation: But that is not what “type” in “Session type” means. 28Session type ? 29Session? • Interaction of two or more entities. • It has a beginning and (usually) interactions is happening. 30Session? • Can we describe a valid sequence of interactions? • Interaction diagram Client Server int int ADD DIV int double end Branching 31Session? • Can we describe a0 码力 | 89 页 | 1.55 MB | 6 月前3 Session Types in C++Background in compilers and embedded systems... 2Motive? 3Motive: Can it be done in C++? 4Session type 5Session type ? 6"A normal adult programmer never gives a thought about types. That is something C++, we can settle with this explanation: But that is not what “type” in “Session type” means. 28Session type ? 29Session? • Interaction of two or more entities. • It has a beginning and (usually) interactions is happening. 30Session? • Can we describe a valid sequence of interactions? • Interaction diagram Client Server int int ADD DIV int double end Branching 31Session? • Can we describe a0 码力 | 89 页 | 1.55 MB | 6 月前3
 Back To Basics Lifetime Management0 码力 | 66 页 | 8.43 MB | 6 月前3 Back To Basics Lifetime Management0 码力 | 66 页 | 8.43 MB | 6 月前3
 Libraries: A First Step Toward Standard C++ Dependency Management1October 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 | 6 月前3 Libraries: A First Step Toward Standard C++ Dependency Management1October 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 | 6 月前3
 Newer Isn't Always BetterInterfaces/Global Stateatomosspace.com | 15 Use Cases Global Interface • Logging • External I/O • Resource Management • Plotting Global Data • Initial Parameters • State Parametersatomosspace.com | 16 Global // ... } }; struct Session : public Tcp { void initializeConfig() override { std::cout << "session\n"; // ... } }; int main() { Tcp a; a.init(); Session b; b.init(); } Multi-Level << "tcp\n"; } }; struct Session : public Tcp<Session> { void initializeConfig() { std::cout << "session\n"; } }; int main() { Tcp a; a.init(); Session b; b.init(); } Multi-Level0 码力 | 60 页 | 1.34 MB | 6 月前3 Newer Isn't Always BetterInterfaces/Global Stateatomosspace.com | 15 Use Cases Global Interface • Logging • External I/O • Resource Management • Plotting Global Data • Initial Parameters • State Parametersatomosspace.com | 16 Global // ... } }; struct Session : public Tcp { void initializeConfig() override { std::cout << "session\n"; // ... } }; int main() { Tcp a; a.init(); Session b; b.init(); } Multi-Level << "tcp\n"; } }; struct Session : public Tcp<Session> { void initializeConfig() { std::cout << "session\n"; } }; int main() { Tcp a; a.init(); Session b; b.init(); } Multi-Level0 码力 | 60 页 | 1.34 MB | 6 月前3
 Conan 1.25 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 All accelerating the development and Continuous Integration of C and C++ projects. With full binary management, it can create and reuse any number of different binaries (for different config- urations, like contributes packages for popular open-source libraries, like Boost, Zlib, OpenSSL, Poco, etc. 1.3 Binary management One of the most powerful features of Conan is that it can create and manage pre-compiled binaries0 码力 | 655 页 | 5.45 MB | 1 年前3 Conan 1.25 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 All accelerating the development and Continuous Integration of C and C++ projects. With full binary management, it can create and reuse any number of different binaries (for different config- urations, like contributes packages for popular open-source libraries, like Boost, Zlib, OpenSSL, Poco, etc. 1.3 Binary management One of the most powerful features of Conan is that it can create and manage pre-compiled binaries0 码力 | 655 页 | 5.45 MB | 1 年前3
 Conan 1.26 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 All accelerating the development and Continuous Integration of C and C++ projects. With full binary management, it can create and reuse any number of different binaries (for different config- urations, like contributes packages for popular open-source libraries, like Boost, Zlib, OpenSSL, Poco, etc. 1.3 Binary management One of the most powerful features of Conan is that it can create and manage pre-compiled binaries0 码力 | 669 页 | 5.51 MB | 1 年前3 Conan 1.26 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 All accelerating the development and Continuous Integration of C and C++ projects. With full binary management, it can create and reuse any number of different binaries (for different config- urations, like contributes packages for popular open-source libraries, like Boost, Zlib, OpenSSL, Poco, etc. 1.3 Binary management One of the most powerful features of Conan is that it can create and manage pre-compiled binaries0 码力 | 669 页 | 5.51 MB | 1 年前3
 Conan 1.22 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 All accelerating the development and Continuous Integration of C and C++ projects. With full binary management, it can create and reuse any number of different binaries (for different configu- rations, like contributes packages for popular open-source libraries, like Boost, Zlib, OpenSSL, Poco, etc. 1.3 Binary management One of the most powerful features of Conan is that it can create and manage pre-compiled binaries0 码力 | 629 页 | 4.98 MB | 1 年前3 Conan 1.22 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 All accelerating the development and Continuous Integration of C and C++ projects. With full binary management, it can create and reuse any number of different binaries (for different configu- rations, like contributes packages for popular open-source libraries, like Boost, Zlib, OpenSSL, Poco, etc. 1.3 Binary management One of the most powerful features of Conan is that it can create and manage pre-compiled binaries0 码力 | 629 页 | 4.98 MB | 1 年前3
 Conan 1.23 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 All accelerating the development and Continuous Integration of C and C++ projects. With full binary management, it can create and reuse any number of different binaries (for different configu- rations, like contributes packages for popular open-source libraries, like Boost, Zlib, OpenSSL, Poco, etc. 1.3 Binary management One of the most powerful features of Conan is that it can create and manage pre-compiled binaries0 码力 | 637 页 | 5.04 MB | 1 年前3 Conan 1.23 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 All accelerating the development and Continuous Integration of C and C++ projects. With full binary management, it can create and reuse any number of different binaries (for different configu- rations, like contributes packages for popular open-source libraries, like Boost, Zlib, OpenSSL, Poco, etc. 1.3 Binary management One of the most powerful features of Conan is that it can create and manage pre-compiled binaries0 码力 | 637 页 | 5.04 MB | 1 年前3
 Conan 1.24 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 All accelerating the development and Continuous Integration of C and C++ projects. With full binary management, it can create and reuse any number of different binaries (for different config- urations, like contributes packages for popular open-source libraries, like Boost, Zlib, OpenSSL, Poco, etc. 1.3 Binary management One of the most powerful features of Conan is that it can create and manage pre-compiled binaries0 码力 | 647 页 | 5.31 MB | 1 年前3 Conan 1.24 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 All accelerating the development and Continuous Integration of C and C++ projects. With full binary management, it can create and reuse any number of different binaries (for different config- urations, like contributes packages for popular open-source libraries, like Boost, Zlib, OpenSSL, Poco, etc. 1.3 Binary management One of the most powerful features of Conan is that it can create and manage pre-compiled binaries0 码力 | 647 页 | 5.31 MB | 1 年前3
 A New Decade of Visual Studio: C++20, Open STL and Morecontinuing to enhance the C++ extension for Visual Studio Code Our agenda todayVisual Studio Code Session coming up! #1 most used code editor [StackOverflow Developer Surveys] Free, open source code editor Safety 3. Cross-platform development 4. Developer and Team ProductivitySimplify C++ dependency management with vcpkg Open source library manager for Windows, Linux, and macOS 1400+ popular open source Analyzer or Edge/Chrome via /timetrace (thank you to Carlos Fraguas) vcperf /start Session A New Decade of Visual Studio: C++20, Open STL and Morecontinuing to enhance the C++ extension for Visual Studio Code Our agenda todayVisual Studio Code Session coming up! #1 most used code editor [StackOverflow Developer Surveys] Free, open source code editor Safety 3. Cross-platform development 4. Developer and Team ProductivitySimplify C++ dependency management with vcpkg Open source library manager for Windows, Linux, and macOS 1400+ popular open source Analyzer or Edge/Chrome via /timetrace (thank you to Carlos Fraguas) vcperf /start Session- vcperf /stop Session /timetrace mytrace.json Visit https://aka.ms/vcperf to learn moreLive Share 0 码力 | 37 页 | 2.67 MB | 6 月前3
共 154 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16














