LOGOFALPROG Telegram 245
Ixxtension

Не так давно я перевёл свой Crunch House на С++ модули. Надо сказать, это та ещё попоболь, даже если проект пока ещё крошечный.

Во-первых, главные вендоры IDE в 2024 до сих пор не договорились какое должно быть расширение у интерфейса модуля. Настроить это всё дело кроссплатформенно и через CMake — это вообще не тривиальная процедура. Но, слава богу, я эту часть полностью скипнул, так как работаю только под виндой и под вижак.

Однако же, я в полной мере вкусил во-вторых: мешать модули и обычные хедеры нельзя. Если ты сделал import std в одном хедере, то будь добр делай так же во всех (в рамках одного транслейшн юнита). Заинклудил 3rd-party библиотечку, которая где-то там внедрах использует vector? Ну всё, каюк: нечитабельные ошибки тебе обеспечены.

В-третьих, почти нереально модулизировать что-то перекрытое макросами, типа directx 12 API. Оно ещё тянет всякие виндовые хедеры, ComPtr и прочие приколы, которые тоже могут с std законфликтовать. В общем, без хаков не обходится.

Я уж молчу про то, что подсветка IDE конкретно тупит и отваливается на модулях. И всяких банальных удобств нет, типа переключения между cpp и ixx файлами. Последнее меня настолько сильно бесило, что я написал VS extension для этой цели. Назвал его Ixxtension, забирайте, если вдруг таким же страдаете.

Тем не менее намерен дальше пилить модулями. Всё ещё хочется верить, что за ними будущее. Надеюсь, что когда-нибудь это перестанет быть редким инопланетным синтаксисом (как trail return type), а станет мейнстримом. Если это случится, то пусть у меня уже будет модульный проект к тому времени. Потому что портировать большую кодобазу это совсем анрил.
👍7



tgoop.com/logofalprog/245
Create:
Last Update:

Ixxtension

Не так давно я перевёл свой Crunch House на С++ модули. Надо сказать, это та ещё попоболь, даже если проект пока ещё крошечный.

Во-первых, главные вендоры IDE в 2024 до сих пор не договорились какое должно быть расширение у интерфейса модуля. Настроить это всё дело кроссплатформенно и через CMake — это вообще не тривиальная процедура. Но, слава богу, я эту часть полностью скипнул, так как работаю только под виндой и под вижак.

Однако же, я в полной мере вкусил во-вторых: мешать модули и обычные хедеры нельзя. Если ты сделал import std в одном хедере, то будь добр делай так же во всех (в рамках одного транслейшн юнита). Заинклудил 3rd-party библиотечку, которая где-то там внедрах использует vector? Ну всё, каюк: нечитабельные ошибки тебе обеспечены.

В-третьих, почти нереально модулизировать что-то перекрытое макросами, типа directx 12 API. Оно ещё тянет всякие виндовые хедеры, ComPtr и прочие приколы, которые тоже могут с std законфликтовать. В общем, без хаков не обходится.

Я уж молчу про то, что подсветка IDE конкретно тупит и отваливается на модулях. И всяких банальных удобств нет, типа переключения между cpp и ixx файлами. Последнее меня настолько сильно бесило, что я написал VS extension для этой цели. Назвал его Ixxtension, забирайте, если вдруг таким же страдаете.

Тем не менее намерен дальше пилить модулями. Всё ещё хочется верить, что за ними будущее. Надеюсь, что когда-нибудь это перестанет быть редким инопланетным синтаксисом (как trail return type), а станет мейнстримом. Если это случится, то пусть у меня уже будет модульный проект к тому времени. Потому что портировать большую кодобазу это совсем анрил.

BY Log of Alprog


Share with your friend now:
tgoop.com/logofalprog/245

View MORE
Open in Telegram


Telegram News

Date: |

The optimal dimension of the avatar on Telegram is 512px by 512px, and it’s recommended to use PNG format to deliver an unpixelated avatar. The creator of the channel becomes its administrator by default. If you need help managing your channel, you can add more administrators from your subscriber base. You can provide each admin with limited or full rights to manage the channel. For example, you can allow an administrator to publish and edit content while withholding the right to add new subscribers. There have been several contributions to the group with members posting voice notes of screaming, yelling, groaning, and wailing in different rhythms and pitches. Calling out the “degenerate” community or the crypto obsessives that engage in high-risk trading, Co-founder of NFT renting protocol Rentable World emiliano.eth shared this group on his Twitter. He wrote: “hey degen, are you stressed? Just let it out all out. Voice only tg channel for screaming”. With the “Bear Market Screaming Therapy Group,” we’ve now transcended language. Write your hashtags in the language of your target audience.
from us


Telegram Log of Alprog
FROM American