Właśnie dowiedziałem się, dlaczego makra są złe. Próbuję zaincludować header i nagle wielki error "makro redefined" i widzę, że identyczne makro includuje linuksowa libka i header. Jednego makra nie mogę zmienić, bo to plik linuxa, a drugie makro ma około 6000 wystąpień w kodzie, więc też wolałbym tego nie zmieniać. Da się coś z tym zrobić? Rozważam wypowiedzenie. #programowanie #cpp
@Gerax9: nie makra są generalnie złe, tylko makra z C / C++ są złe. Inne języki z makrami nie mają takich problemów.
Możesz spróbować oddefiniować makro przez #undef zaraz po zainkludowaniu headera. Wtedy kolejny include nie będzie widział tego makra i zdefiniuje swoje.
@Gerax9: odpalasz visual studio code, zaznaczasz macro, klikasz Ctrl + shift + F
W okienku po lewej zaznaczasz by brał pod uwagę tylko dokładnie to co wbiłeś oraz rozmiar, możesz też by nie wyszukiwał z danych plików lub wybrać by dane rozszerzenia tylko wyszukiwał (.cpp, .hpp itp.)
Wpisujesz nową nazwę i klikasz. Refactoring całego kodu w pare sekund.
Jednego makra nie mogę zmienić, bo to plik linuxa, a drugie makro ma około 6000 wystąpień w kodzie, więc też wolałbym tego nie zmieniać.
Da się coś z tym zrobić? Rozważam wypowiedzenie.
#programowanie #cpp
Możesz spróbować oddefiniować makro przez
#undef
zaraz po zainkludowaniu headera. Wtedy kolejny include nie będzie widział tego makra i zdefiniuje swoje.W okienku po lewej zaznaczasz by brał pod uwagę tylko dokładnie to co wbiłeś oraz rozmiar, możesz też by nie wyszukiwał z danych plików lub wybrać by dane rozszerzenia tylko wyszukiwał (.cpp, .hpp itp.)
Wpisujesz nową nazwę i klikasz. Refactoring całego kodu w pare sekund.
@Gerax9:
1. nie includować obu nagłówków w tych samych plikach
2. strategicznie rozmieścić undefy
3. naumieć się obsługi skrótu ctrl+H
WYKOP_BUFFER_SIZE