 CROSS PLATFORM PITFALLS AND HOW TO AVOID THEMCROSS-PLATFORM PITFALLS AND HOW TO AVOID THEM Erika Sweet (she/her) Microsoft C++ TeamWelcome to CppCon 2020! Visit our table at the Expo Hall https://aka.ms/cppcon/expo • Meet the Microsoft C++ Abdicating responsibility to CMake Reimplementing functionality that CMake has built-in to abstract platform and compiler specificsUse built-in CMake command line tools…. execute_process(COMMAND ${CMAKE_COMMAND} rget PUBLIC cxx_std_11) …instead of manually setting flags via CMAKE_CXX_FLAGSKeep your paths platform independent…. target_include_directories(myTarget PUBLIC $0 码力 | 67 页 | 360.44 KB | 6 月前3 CROSS PLATFORM PITFALLS AND HOW TO AVOID THEMCROSS-PLATFORM PITFALLS AND HOW TO AVOID THEM Erika Sweet (she/her) Microsoft C++ TeamWelcome to CppCon 2020! Visit our table at the Expo Hall https://aka.ms/cppcon/expo • Meet the Microsoft C++ Abdicating responsibility to CMake Reimplementing functionality that CMake has built-in to abstract platform and compiler specificsUse built-in CMake command line tools…. execute_process(COMMAND ${CMAKE_COMMAND} rget PUBLIC cxx_std_11) …instead of manually setting flags via CMAKE_CXX_FLAGSKeep your paths platform independent…. target_include_directories(myTarget PUBLIC $0 码力 | 67 页 | 360.44 KB | 6 月前3
 Cross-Platform Floating-Point Determinism Out of the Boxof) 2 3Why FP Determinism is Important?_ CppCon 2024 sixit:: 5 ✅ Same Executable Cross Platform Different Contexts ❌ ❌ 1 (Sort of) 2 3 General Sanity, Testability Distributed Simulations using the identically compiled files and run on systems that adhere to the IEEE standards. Cross platform synchronized network simulations or replays will not possible [sic].” - Most upvoted answer on0 码力 | 31 页 | 3.88 MB | 6 月前3 Cross-Platform Floating-Point Determinism Out of the Boxof) 2 3Why FP Determinism is Important?_ CppCon 2024 sixit:: 5 ✅ Same Executable Cross Platform Different Contexts ❌ ❌ 1 (Sort of) 2 3 General Sanity, Testability Distributed Simulations using the identically compiled files and run on systems that adhere to the IEEE standards. Cross platform synchronized network simulations or replays will not possible [sic].” - Most upvoted answer on0 码力 | 31 页 | 3.88 MB | 6 月前3
 High-Performance Cross-Platform Architecture: C++20 Innovationscareer in video games and embedded software • Started using C++ in 1995 • First cross-platform project in 1994Cross-Platform Architecture Goals • Take advantage of all platforms • Focus on the compiler • Minimize classes, an illustrative example from a larger project • Project build issues • Inclusion of platform-specific header files • Concept hierarchies • Class and Function DesignOCP: The Open–Closed Principle Adding new revisions to a feature has no effect on previously-implemented revisions.What is a Platform? • A specific set of features • A feature is an abstract unit of functionality requiring implementations0 码力 | 75 页 | 581.83 KB | 6 月前3 High-Performance Cross-Platform Architecture: C++20 Innovationscareer in video games and embedded software • Started using C++ in 1995 • First cross-platform project in 1994Cross-Platform Architecture Goals • Take advantage of all platforms • Focus on the compiler • Minimize classes, an illustrative example from a larger project • Project build issues • Inclusion of platform-specific header files • Concept hierarchies • Class and Function DesignOCP: The Open–Closed Principle Adding new revisions to a feature has no effect on previously-implemented revisions.What is a Platform? • A specific set of features • A feature is an abstract unit of functionality requiring implementations0 码力 | 75 页 | 581.83 KB | 6 月前3
 Casdoor · An Open Source UI-first Identity Access Management (IAM) / Single-Sign-On (SSO) platform supportingOver erview view Casdoor is a UI-first Identity Access Management (IAM) / Single-Sign-On (SSO) platform based on OAuth 2.0, OIDC, SAML, and CAS. Casdoor serves both the web UI and the login requests is the official forum developed by the Casbin community. It uses Casdoor as the authentication platform and manages members. • Casnode • Source code: https://github.com/casbin/casnode Ar Archit chitectur such as built-in/admin : global administrators who have full administrative power on the Casdoor platform. • Other organizations' users, such as my-company/alice : normal users who can sign up, sign in0 码力 | 825 页 | 58.31 MB | 1 年前3 Casdoor · An Open Source UI-first Identity Access Management (IAM) / Single-Sign-On (SSO) platform supportingOver erview view Casdoor is a UI-first Identity Access Management (IAM) / Single-Sign-On (SSO) platform based on OAuth 2.0, OIDC, SAML, and CAS. Casdoor serves both the web UI and the login requests is the official forum developed by the Casbin community. It uses Casdoor as the authentication platform and manages members. • Casnode • Source code: https://github.com/casbin/casnode Ar Archit chitectur such as built-in/admin : global administrators who have full administrative power on the Casdoor platform. • Other organizations' users, such as my-company/alice : normal users who can sign up, sign in0 码力 | 825 页 | 58.31 MB | 1 年前3
 Interesting Upcoming Features from Low Latency, Parallelism and ConcurrencyreadAndAccess(Func userFn) { // Called frequently hazard_pointer hp = make_hazard_pointer(); // Construct hazard pointer. T* ptr = hp.protect(src_); // Get pointer to a protected object hazard_pointer hp[3]; /* Three hazard pointers are made nonempty separately. */ hp[0] = make_hazard_pointer(); hp[1] = make_hazard_pointer(); hp[2] = make_hazard_pointer(); assert(!hp[0].empty()); empty()); assert(!hp[1].empty()); assert(!hp[2].empty()); /* src is atomic Interesting Upcoming Features from Low Latency, Parallelism and ConcurrencyreadAndAccess(Func userFn) { // Called frequently hazard_pointer hp = make_hazard_pointer(); // Construct hazard pointer. T* ptr = hp.protect(src_); // Get pointer to a protected object hazard_pointer hp[3]; /* Three hazard pointers are made nonempty separately. */ hp[0] = make_hazard_pointer(); hp[1] = make_hazard_pointer(); hp[2] = make_hazard_pointer(); assert(!hp[0].empty()); empty()); assert(!hp[1].empty()); assert(!hp[2].empty()); /* src is atomic- */ T* ptr = hp[0].protect(src); /* etc */ } /* Three nonempty hazard pointers are destroyed separately. */ Batch 0 码力 | 56 页 | 514.85 KB | 6 月前3
 Tracy: A Profiler You Don't Want to Missmeasurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation) measurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation) measurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation)0 码力 | 84 页 | 8.70 MB | 6 月前3 Tracy: A Profiler You Don't Want to Missmeasurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation) measurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation) measurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation)0 码力 | 84 页 | 8.70 MB | 6 月前3
 Tracy: A Profiler You Don't Want to Missmeasurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation) measurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation) measurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation)0 码力 | 85 页 | 6.51 MB | 6 月前3 Tracy: A Profiler You Don't Want to Missmeasurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation) measurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation) measurements (nanosecond resolution) Negligible overhead (a few nanoseconds per zone) Cross-platform (Windows, Linux, macOS, iOS, Android, WASM*) Hybrid profiling capabilities (sampling and/or instrumentation)0 码力 | 85 页 | 6.51 MB | 6 月前3
 Celery v4.0.1 Documentationminimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform. Redis broker transports are feature complete, but there’s also support for a myriad of other experimental the worker in the background as a daemon. To do this you need to use the tools provided by your platform, or something like supervisord [http://supervisord.org] (see Daemonization for more information) Akismet [http://akismet.com/faq/], the service used to filter spam in comments posted to the free blog platform Wordpress. Akismet [http://akismet.com/faq/] is free for personal use, but for commercial use you0 码力 | 1040 页 | 1.37 MB | 1 年前3 Celery v4.0.1 Documentationminimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform. Redis broker transports are feature complete, but there’s also support for a myriad of other experimental the worker in the background as a daemon. To do this you need to use the tools provided by your platform, or something like supervisord [http://supervisord.org] (see Daemonization for more information) Akismet [http://akismet.com/faq/], the service used to filter spam in comments posted to the free blog platform Wordpress. Akismet [http://akismet.com/faq/] is free for personal use, but for commercial use you0 码力 | 1040 页 | 1.37 MB | 1 年前3
 Celery v4.0.2 Documentationminimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform. Redis broker transports are feature complete, but there’s also support for a myriad of other experimental the worker in the background as a daemon. To do this you need to use the tools provided by your platform, or something like supervisord [http://supervisord.org] (see Daemonization for more information) Akismet [http://akismet.com/faq/], the service used to filter spam in comments posted to the free blog platform Wordpress. Akismet [http://akismet.com/faq/] is free for personal use, but for commercial use you0 码力 | 1042 页 | 1.37 MB | 1 年前3 Celery v4.0.2 Documentationminimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform. Redis broker transports are feature complete, but there’s also support for a myriad of other experimental the worker in the background as a daemon. To do this you need to use the tools provided by your platform, or something like supervisord [http://supervisord.org] (see Daemonization for more information) Akismet [http://akismet.com/faq/], the service used to filter spam in comments posted to the free blog platform Wordpress. Akismet [http://akismet.com/faq/] is free for personal use, but for commercial use you0 码力 | 1042 页 | 1.37 MB | 1 年前3
 Celery v4.1.0 Documentationminimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform. Redis broker transports are feature complete, but there’s also support for a myriad of other experimental the worker in the background as a daemon. To do this you need to use the tools provided by your platform, or something like supervisord [http://supervisord.org] (see Daemonization for more information) Akismet [http://akismet.com/faq/], the service used to filter spam in comments posted to the free blog platform Wordpress. Akismet [http://akismet.com/faq/] is free for personal use, but for commercial use you0 码力 | 1057 页 | 1.35 MB | 1 年前3 Celery v4.1.0 Documentationminimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform. Redis broker transports are feature complete, but there’s also support for a myriad of other experimental the worker in the background as a daemon. To do this you need to use the tools provided by your platform, or something like supervisord [http://supervisord.org] (see Daemonization for more information) Akismet [http://akismet.com/faq/], the service used to filter spam in comments posted to the free blog platform Wordpress. Akismet [http://akismet.com/faq/] is free for personal use, but for commercial use you0 码力 | 1057 页 | 1.35 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
 CROSSPLATFORMPITFALLSANDHOWTOAVOIDTHEMCrossPlatformFloatingPointDeterminismOutoftheBoxHighPerformanceArchitectureC++20InnovationsCasdoorAnOpenSourceUIfirstIdentityAccessManagementIAMSingleSignOnSSOplatformsupportingOAuth2.0OIDCSAMLandCASInterestingUpcomingFeaturesfromLowLatencyParallelismConcurrencyTracyProfilerYouDonWanttoMissCeleryv40.1Documentation0.21.0














 
  
  
 