Date: Mon, 20 Oct 2025 07:21:56 -0500
On Mon, Oct 20, 2025 at 5:50 AM John Spicer via SG15 <sg15_at_[hidden]>
wrote:
> The problem is that for function templates, member functions of class
> templates, and inline functions, the semantic is essentially assigned
> randomly if it is used in multiple TUs that are compiled with different
> semantics.
>
> In most complex environments you are dealing with things like libraries
> that are provided by others, so you may not have control over how it is
> built.
>
> You can also have two libraries that use a third library, but if those two
> libraries are a different semantic any user of the third library has no
> idea what semantic they’ll get even if their code also uses the third
> library and is built with a particular semantic.
>
In writing AAA games targeting Windows, Xbox, Playstation, etc, I
frequently consume pre-built libraries in both static and dynamic linkage
forms. And we always know the build mode the libraries as how they are
built is part of the documentation. In the cases where the build mode was
in any form, large or small, was incompatible with our consumption we ask
the author to provide a variation of the library that works with our build
mode. Such requests are always granted. I.e. I have not seen a case where
we did get control of the build mode of consumed libraries.
wrote:
> The problem is that for function templates, member functions of class
> templates, and inline functions, the semantic is essentially assigned
> randomly if it is used in multiple TUs that are compiled with different
> semantics.
>
> In most complex environments you are dealing with things like libraries
> that are provided by others, so you may not have control over how it is
> built.
>
> You can also have two libraries that use a third library, but if those two
> libraries are a different semantic any user of the third library has no
> idea what semantic they’ll get even if their code also uses the third
> library and is built with a particular semantic.
>
In writing AAA games targeting Windows, Xbox, Playstation, etc, I
frequently consume pre-built libraries in both static and dynamic linkage
forms. And we always know the build mode the libraries as how they are
built is part of the documentation. In the cases where the build mode was
in any form, large or small, was incompatible with our consumption we ask
the author to provide a variation of the library that works with our build
mode. Such requests are always granted. I.e. I have not seen a case where
we did get control of the build mode of consumed libraries.
-- -- René Ferdinand Rivera Morell -- Don't Assume Anything -- No Supongas Nada -- Robot Dreams - http://robot-dreams.net
Received on 2025-10-20 12:22:16
