Shared Libraries1Terminology • Shared Library: • Shared Object, Dynamic Object, Dynamic Shared Object (DSO), Dynamic Load Library (DLL), Dynamic Shared Library • Binary: • Executable / Shared Library , Component cause ODR violation errors. • Speculated motivation: • In the elden days the canonical example of shared-lib was libc. Users may reasonably wish to override implementations. 15foo Library Search Order After exe, before any lib 16 exe lib1 lib2 lib3 lib4 lib5 preload_lib1C++ Implication #1: Can a shared-library symbol be overridden from an executable? • Windows: • No. • Linux: • Yes. • Mac: •0 码力 | 69 页 | 1.40 MB | 6 月前3
Shared Libraries and Where To Find ThemShared Libraries and Where to Find Them R&D Team Lead, JFrogIntroduction From the point of view of a C++ developer, compiled code typically ends up in either: ● The executables themselves ● Static Static libraries ● Shared libraries Libraries* are a vehicle for “reusable” code code that can be invoked by other libraries or applications (even from other languages) * libraries: not defined by the standard meanings…How developers deal with shared librariesAbout this talk ● What this talk covers: ○ WHEN shared libraries are needed ○ WHICH programs needs to locate shared libraries ○ TOOLS to query, troubleshoot0 码力 | 94 页 | 6.49 MB | 6 月前3
generic graph librariescomputing, including systems, programming languages, software [tile] DB libraries, and large-scale graph analytics. Open-source software projects resulting from his work include practical (concrete) problems -theory reuse *,Goes hand-in-glove with goals of generic software libraries Graphs Are Ubiduitous SS Degrees of Kevin Bacon) 。Towards standardization 。Lessons Learned Generic Programming and Generic Libraries *,Generic programming is a sub-discipline of computer science that deals with finding abstract0 码力 | 76 页 | 6.59 MB | 6 月前3
Reflection Based Libraries to Look Forward To1Reflection based libraries to look forward to Saksham Sharma CppCon 2024 2Director, Quant Research Tech at Tower Research Capital High frequency trading firm based out of NYC Develop low latency other languages (Go, Python, Java) Reflection in C++ as per P2996 Syntax and examples Reflection libraries! Python bindings ABI hashing (boost::abi_hash?) A duck-typed std::any (boost::virtual_any?) general-purpose / boilerplate-reducing libraries Solve multiple pain-points through a single feature The hallmark of a useful language feature Reflection libaries! 40Libraries would require fewer redundant0 码力 | 118 页 | 14.33 MB | 6 月前3
Dynamically Loaded Libraries Outside the Standard2021 Dynamically Loaded Libraries Outside the Standard 2021/10/29 Zhihao Yuan3 CppCon 2021 | • Dynamic-link library (.dll) • Dynamic shared object (.so) • Mach-O dynamic bundles at runtime • dlopen() APIs works with both dynamic libraries and bundles • Prior to Mac OS X 10.5, dlclose() does not unload dynamic libraries Example: NSBundle7 CppCon 2021 | • Portable Executable reference count of a loaded module Loaded libraries are reference countedCppCon 2021 Different Levels of Dynamic20 CppCon 2021 | • Level 0: Dependent libraries How dynamic is dynamic?21 CppCon 2021 | 0 码力 | 100 页 | 3.98 MB | 6 月前3
The Beman Project: Bringing Standard Libraries to the Next LevelThe Beman Project Bringing Standard Libraries to the Next Level David Sankel | Principal Scientist Software Technology Lab Image generated with Adobe FireflyWhere does the standard come from?BristolBristol© Rights Reserved. “ Support the efficient design and adoption of the highest quality C++ standard libraries” – Beman project mission 17 David Sankel Richard Powell© 2024 Adobe. All Rights Reserved. “ “ Support the efficient design and adoption of the highest quality C++ standard libraries through implementation experience” – Beman project mission 18 David Sankel Richard Powell© 2024 Adobe. All0 码力 | 53 页 | 7.38 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 Metadata file(s) to declare those contents ● Modest tool interop requirements In short, declaring libraries installed on a filesystem 6Goals ● ✓ A first step towards a robust packaging ecosystem ● ✓ Explicit too hard Q: Which of these do you find frustrating about C++ development? ● 82% – Managing the libraries my application depends on ● 80% – Build times ● 71% – Setting up CI pipelines from scratch ●0 码力 | 82 页 | 4.21 MB | 6 月前3
Writing Python Bindings for C++ Libraries: Easy-to-use Performance(IPython) ○ Jupyter notebooks provide a great research environment ○ Very mature open source libraries for various domains Why C++? ● We’re at CppCon :) Why Python? Why C++?● Why? ○ Avoid reimplementing Performance ○ Back and forth with user’s python code ○ Interoperability with data structures in Python - shared memory space ● How? ○ Python/C API ○ Cython ○ Numba / PyPy ○ Boost::Python ○ Pybind11 ○ cppyy "cy.h": int cpp_increment(int x) def cy_increment(x): return cpp_increment(x)Various libraries to “speed up” python Focus of this talkPerformanceSome perf numbers: per increment runtime Take0 码力 | 118 页 | 2.18 MB | 6 月前3
Conan 1.4 Documentation. . . . . . . . . . . . . . . . . . . . . . . 13 4 Getting started 15 4.1 A Timer using POCO libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2 Installing dependencies . . . . . . . . . . . . . . . . . . . . . 167 13 Howtos 173 13.1 How to package header-only libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 13.2 How to launch conan generator with generator packages . . . . . . . . . . . . . . . . . . 193 13.11 How to manage shared libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 13.12 How to reuse0 码力 | 421 页 | 2.84 MB | 1 年前3
Conan 1.7 Documentation. . . . . . . . . . . . . . . . . . . . . . . 10 3 Getting Started 11 3.1 A Timer Using POCO Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Installing Dependencies . . . . . . . . . . . . . . . . . . . . . 172 12 Howtos 173 12.1 How to package header-only libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 12.2 How to launch conan generator with generator packages . . . . . . . . . . . . . . . . . . 193 12.11 How to manage shared libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 12.12 How to reuse0 码力 | 433 页 | 2.95 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













