LINUX.ORG.RU

История изменений

Исправление xaizek, (текущая версия) :

Макросы извне модулей игнорируются кроме тех, которые в специальном белом списке да и те берутся только из командной строки (т.е. #define перед #include полностью игнорируются). В итоге легко получить модуль для одних параметров, а приложение для других. Но из модулей макросы могут экспортироваться. Хотя внутренние правила их согласования там непростые.

С шаблонами проблем нет. Но может тут путаница с тем, что такое эти «модули», они всего лишь сериализованный AST набора заголовков и они не предназначены для распространения чего-то вроде пакетов. Модули создаются локально и не покидают систему так как намертво завязаны на версию компилятора (и конкретные опции компиляции). По факту это кеш для фронтенда.

Исправление xaizek, :

Макросы извне модулей игнорируются кроме тех, которые в специальном белом списке да и те берутся только из командной строки (т.е. #define перед #include полностью игнорируются). В итоге легко получить модуль для одних параметров, а приложение для других. Но из модулей макросы могут экспортироваться. Хотя внутренние правила их согласования там непростые.

С шаблонами проблем нет. Но может тут путаница с тем, что такое эти «модули», они всего лишь сериализованный AST набора заголовков и не предназначены для распространения чего-то вроде пакетов. Модули создаются локально и не покидают систему так как намертво завязаны на версию компилятора (и конкретные опции компиляции). По факту это кеш для фронтенда.

Исправление xaizek, :

Макросы извне модулей игнорируются кроме тех, которые в специальном белом списке да и те берутся только из командной строки (т.е. #define перед #include полностью игнорируются). В итоге легко получить модуль для одних параметров, а приложение для других. Но из модулей макросы могут экспортироваться. Хотя внутренние правила их согласования там непростые.

С шаблонами проблем нет. Но может тут путаница с тем, что такое эти «модули», они всего лишь сериализованный AST набора заголовков и не предназначены для распространения чего-то вроде пакетов. Модули создаются локально и не покидают систему так как намертно завязаны на версию компилятора (и конкретные опции компиляции). По факту это кеш для фронтенда.

Исходная версия xaizek, :

Макросы извне модулей игнорируются кроме тех, которые в специальном белом списке да и те берутся только из командной строки (т.е. #define перед #include полностью игнорируются). В итоге легко получить модуль для одних параметров, а приложение для других.

С шаблонами проблем нет. Но может тут путаница с тем, что такое эти «модули», они всего лишь сериализованный AST набора заголовков и не предназначены для распространения чего-то вроде пакетов. Модули создаются локально и не покидают систему так как намертно завязаны на версию компилятора (и конкретные опции компиляции). По факту это кеш для фронтенда.