과거 소스 호환을 안시켜 줄거면 아주 안시켜 주던가
C++17인가에서 추가된 byte 타입 때문에 몇시간 내내 byte만 찾아 고쳤던 기억이 있음.
문제는 그외 다른곳에서도 터짐. 더 빡치는건 간혈적으로 터짐
ㅅㅂ 권장사항으로 개발 안한 내 잘못이지만, 커스텀 안하고 개발 안되는게 C++인데 호환성은 최대한 보장 해줬으면 함.
많은 레거시 C++ 소스들이 업데이트 쫒아가다 뻗어버린경우가 태반임.
더 큰 문제는 레거시에 업데이트후 개발을 이어 나가면 결국 레거시 + 모던 혼돈형 코드가 탄생하게 되고
그럼 지옥이 따로 없음. 그냥 유지보수도 안됨.
구글링도 뒤죽박죽 환장함. 당장 C++ time 관련 소스코드만 봐도 C , C++ 레거시 , 모던 C++ chrono, C++ 17~20 확장형, 다 달라서 환장함
레거시가 중요한 프로젝트면 버전업을 안해야지..
가끔가다가 진짜 혹시 필요할 수도 있으니까 호환을 완벽하게는 못해도 가능은 하게 만들어 둔거고 버전업이 필수가 아니면 그냥 안된다고 생각하고 안하면 된다 라고 생각해주면 안될까
C++만의 장점을 살려 레거시도 좀 같이 갈수 있게끔 꼭 필요한 부분만 보수적으로 업데이트를 해줫으면 좋겟다는건데 그게 아쉽네. 근데 뭐 어쩔수있나 그냥 주는대로 받아 먹어야지 ㅠ
모든 버전업들의 이슈지뭐 파이썬처럼 갈아엎어버리자
카본 공부해 ㅇㅅㅇ
byte를 따로 정의해서 썼다는건가? 뭔 이야기인지 모르겠음. 검색은 cppreference에서만 해야지 머..
ㅇㅇ 맞음 근데 내가 쓴것도 아닌 사용하던 라이브러리 종특이였음
C++ 은 장점이 하위 호환성인데 먼 말인지 이해가 안감 표준 안 지키는 코드 짜놓고 표준 위원회 탓하는 걸로 밖에 안 보임 ㅇㅇ 그냥 사용자 문제
그리고 17 byte 는 std::byte 인데 using namespace std 랑 서드 파티 라이브러리 using 처갈김? 글 내용 봤을 때 그냥 C++ 초급 수준도 안 되는 걸로 밖에 안 보임 ㄹㅇㅋㅋ
ㄹㅇㅋㅋ
그러게요. 물론 ABI 이슈는 골칫거리긴한데 글쓴이는 여기까진 오지도 못한거 같고 걍 실력문제를 표준탓하는 거같네 - dc App
내가 관리하는 여러 프로젝트중 하나 였는데 byte 이슈 프로젝트는 서버 프로그램으로 C기반으로 20년전 부터 꾸준히 업데이트된 코드들임. 그 당시에는 문제 될게 크게 없었음. 왜냐면 그 당시 프로그램치고 워낙 큰지라 std:: 붙이는것만 해도 하드디스크 용량 이슈가 있었음.
문제는 호환 이슈가 한두개가 아니라는것임 byte는 이슈는 정확하게 std::byte 이슈가 아닌데 some function { using name space; vector; 이런식으로 사용하는건 지역에서 사용하는건 비권장 사항이 아닌데, 그 안에 byte을 사용하면 문제가 되지 byte는 그당시 표준이 아니였거든 stl 이슈도 있고 아무튼 byte란 자료형을 만들고 사용하다 byte가 표준 된순간 개꼬인거임
std::filesystem 쓸때 호환때문에 약간 고생했던것같음