C++ Logo

std-proposals

Advanced search

Re: [std-proposals] Calling C++ functions in a .so directly from foreign languages and C++ as an interface definition language

From: Thiago Macieira <thiago_at_[hidden]>
Date: Mon, 01 Sep 2025 09:25:46 -0700
On Sunday, 31 August 2025 23:40:00 Pacific Daylight Time Adrian Johnston via
Std-Proposals wrote:
> It isn't all in there yet. But the E in ELF originally stood for
> extensible. For example, the command line to add reflection data to an
> .so would look like this:
>
> objcopy --add-section .reflection=reflection_data --set-section-flags
> .reflection=alloc,readonly input.elf output.elf

We already have such data present: the debug symbols. So just read the DWARF
tables and interpret as necessary. See libdwarves for a handy (but incomplete
for C++) implementation.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Principal Engineer - Intel Platform & System Engineering

Received on 2025-09-01 16:25:50