娇色导航

????

??? ??

Paul Krill
Editor at Large

??? ‘C/C++ ?? ??’ ???… C++ ??? “????? ??? ??? ?? ????”

??
2025.03.062?
C ?????????? ??

C++? ?? ??? ??????? ??? ???? ?? ???? ??? ???? ????.

Hacker with malware code in computer screen. Cybersecurity, privacy or cyber attack. Programmer or fraud criminal writing virus software. Online firewall and privacy crime. Web data engineer.
Credit: Tero Vesalainen / Shutterstock

최근 C++의 메모리 안전성 문제가 논란이 되면서, 트랩C(TrapC)와 세이프C++(Safe C++) 같은 프로젝트에 대한 관심이 높아지고 있다. 다양한 시도가 이어지고 있지만, 스트롭스트룹은 여전히 C++에서 프로파일을 도입하는 것이 안전성을 확보하는 핵심이라고 주장했다. 여기서 말하는 프로파일은 C++의 특정 기능을 제한하거나 조정하여, 더 안전한 코드를 작성할 수 있도록 하는 일련의 규칙이나 설정을 말한다. 직접적인 포인터 연산을 금지하거나 자동 메모리 관리가 되는 스마트 포인터만 허용하는 등의 가이드라인을 제시하는 것이다.

프로파일은 기존 기능에 대한 제한을 가하여 일정한 안전성을 보장할 수 있다. 스트롭스트룹은 2월 7일 국제표준화기구(ISO) C++ 위원회에 보낸 서한에서 C++의 타입 안전성과 자원 안전성, 특히 메모리 안전성이 C++이 처음부터 목표로 삼았던 요소라고 강조했다.

스트롭스트룹은 “C++이 당장 심각한 위기에 처한 것은 아니지만, 지금 행동하지 않고 다양한 형태의 안전성을 지원하는 유연한 프로파일 프레임워크를 도입하지 않는다면, C++는 점진적으로 입지가 줄어들 수 있다”라고 말했다. 그는 프로파일이 C++의 미래를 결정짓는 중요한 요소이며, 기존 코드를 깨뜨리지 않으며 새로운 기능을 도입하는 데 장애물이 되지 않는다고 설명했다. 또한, 프로파일 개념이 C++ 발전 과정에서 꾸준히 이어져 온 전통의 일부라고 밝혔다. 스트롭스트룹은 C++ 26에서 초기 프로파일을 도입하는 것을 지지해야 한다며, 이에 반하는 비호환적이고 임시방편적인 제한을 경계해야 한다고 지적했다.

스트롭스트룹은 “단순히 새로운 언어나 라이브러리 기능을 추가하자는 기술적인 제안을 하려는 것이 아니다”라며 C++이 직면한 전례 없는 심각한 공격에 대응하기 위해 우리는 지금 긴급한 조치를 취해야 하는 상황이다”라고 말했다. 그는 현재 C++이 미국과 유럽연합(EU) 규제 기관으로부터 공격받고 있으며, 특히 2024년 2월 미국 백악관이 메모리 안전성 문제가 있는 C와 C++ 같은 언어에서 벗어날 것을 촉구하고 있다는 부분을 지적했다.

스트롭스트룹은 이전에도 메모리 안전성 문제에 대한 해결책으로 프로파일 개념을 제시했다. 그는 “메모리 안전성을 요구하는 목소리가 비합리적인 것은 아니다”라고 말하며, “프로파일은 C++ 커뮤니티가 C++의 핵심 강점을 유지하면서도 안전성 문제를 해결할 수 있는 통합적 프레임워크를 제공한다”라고 설명했다.

한편, 최근 C와 C++의 메모리 안전성을 개선하려는 다른 접근법도 등장하고 있다. 트랩C는 C 언어를 기반으로 한 확장 컴파일러로, C와 C++의 메모리 안전성 문제를 해결하는 것을 목표로 한다. 세이프C++는 C++의 안전성을 엄격하게 보장하는 하위 집합 언어를 제공한다고 주장하고 있다.
dl-ciokorea@foundryco.com

Paul Krill
Editor at Large

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

? ??? ?? ???