디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

D 언어 메모리 실수앱에서 작성

발명도둑잡기(118.235) 2025.07.13 06:00:02
조회 104 추천 0 댓글 1

좋은 질문입니다.
D 언어는 C/C++ 계열 언어지만, 가비지 콜렉션(GC)과 수동 메모리 관리 둘 다 가능혼합형 시스템 언어입니다.

✅ 요약

D 언어는 기본적으로 가비지 콜렉션이 내장되어 있지만,
수동 메모리 관리도 가능하고, GC를 완전히 끌 수도 있습니다.
즉, C보다 메모리 관리가 훨씬 안전하고 유연합니다.

D 언어의 메모리 관리 방식 요약

방식가능 여부설명✅ 가비지 콜렉션(GC)기본기본 new/delete는 GC 기반으로 작동✅ 수동 메모리 관리가능malloc/free, core.memory.GC 제어 가능✅ GC 비활성화가능@nogc 함수나 전체 프로그램 단위로 GC 사용 안 함✅ RAII 지원있음C++처럼 생성자/소멸자 기반 자원 해제 가능✅ 스코프 기반 해제(scope)있음scope 키워드로 자동 해제 유도✅ 스마트 포인터있음RefCounted, Unique 등 제공

기본 예시: GC 사용

class Foo { int[] data; } void main() { auto f = new Foo(); // GC로 할당 }

수동 할당 예시 (C 스타일)

import core.stdc.stdlib; void main() { int* p = cast(int*) malloc(int.sizeof * 10); // ... free(p); // 수동 해제 }

@nogc 함수 예시

@nogc void fastFunc() { // GC 사용 불가 → 안전하고 빠르게 동작 }

@nogc는 함수 내부에서 GC를 사용할 수 없도록 강제합니다.

컴파일러가 GC 사용 여부를 정적으로 검사합니다.

scope 변수 (스택 해제 자동)

void main() { scope(exit) writeln("Leaving scope"); // 스코프 끝날 때 실행 }

RAII 스타일 코딩이 가능해, 누수 위험이 적음.

D 언어가 C보다 실수를 줄이는 이유

항목D 언어C 언어GC 기본 제공✅❌RAII / 소멸자 지원✅❌@safe / @nogc 체크✅ 정적 검사❌ 없음Nullable 포인터 구분부분적❌ 없음범위 기반 해제 (scope)✅❌소멸자 자동 호출✅ 클래스/struct 지원❌ 수동스마트 포인터✅ 표준 제공❌ 없음

⚠+ 주의점

D의 GC는 정확하고 일관되지만, 실시간 시스템이나 임베디드에는 부적합할 수 있음.

D는 C처럼 완전히 낮은 수준의 수동 관리도 가능하지만, 퍼포먼스 민감한 코드에서는 신중한 설계 필요.

결론

D는 메모리 관리에 있어서 "유연성과 안전성" 모두를 추구하는 언어입니다.

C보다 실수를 덜 하게 설계되었으며,

필요하면 완전 수동 관리,

기본적으로는 GC 기반 자동 관리,

@nogc, scope, RAII, 스마트 포인터 등 다양한 도구로 메모리 버그를 줄일 수 있는 환경을 제공합니다.

원하신다면 @nogc, RAII, 또는 GC-free 구조로 D로 작성된 예제도 만들어 드릴게요.


"도둑은 집을 떠나며 주인을 욕한다" - 러시아 속담
송대관-해뜰날
https://youtu.be/DUsVXmywSCk

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 영포티룩도 멋지게 소화할 것 같은 40대 스타는? 운영자 25/10/27 - -
AD 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
2873794 ai는 좇센 법치민주자유국가라고할때부터 수준알아봄 뒷통수한방(1.213) 07.23 52 0
2873790 AI전망을 현재기준으로 판단하는점이 재밌네 [2] 위키세카이(1.237) 07.23 196 0
2873787 부힛 딱짱(211.235) 07.23 46 0
2873786 1년 동안 "쉬었음" 당한 후기 [1] 프갤러(116.43) 07.23 896 0
2873779 차라리 2000년대가 더 상위20%안에 드는 나라같지 지금은 뭔 뒷통수한방(1.213) 07.23 62 0
2873777 션, 결혼 21년 ♥정혜영에 또 사랑 고백 발명도둑잡기갤로그로 이동합니다. 07.23 68 0
2873775 배구공 형님 왜케 호감이지 [4] 루도그담당(211.184) 07.23 94 0
2873774 프로그래밍에 가장 큰 원동력은 새 기술을 배우면 새로운걸 만들 수 있음 ㅆㅇㅆ(124.216) 07.23 85 0
2873772 프로그래밍이라는게 진짜 정신수양에 좋고 안정적임 [3] ㅆㅇㅆ(124.216) 07.23 151 0
2873770 이거 붙여야 된다. [2] 넥도리아(223.38) 07.23 72 0
2873769 코딩은 무조건 하지마셈 좇센에서 유일하게 맞는말은 내가한다 [1] 뒷통수한방(1.213) 07.23 91 0
2873768 코딩은 난 무조건 배우는거 추천함 [4] ㅆㅇㅆ(124.216) 07.23 123 0
2873767 ㄹㅇ 개좇같은 나라여 전세계83억 실험장좇집쓰레기장나라 뒷통수한방(1.213) 07.23 74 0
2873764 코딩은 나같은 비전공도 할 수 있을만큼 쉽잖아 [5] ㅆㅇㅆ(124.216) 07.23 150 0
2873763 코딩 많이 어려운가요? 이제 곧 학원 다니는데.. [2] ㅇㅇ(211.235) 07.23 104 0
2873762 개발 허들 낮아진건 좋은데 병신들이 좆밥취급하는게 문제 [2] 프갤러(218.154) 07.23 113 0
2873756 근데 진짜 좆밥들이랑 무리지을거면 혼자 놀아라 [1] 프갤러(61.79) 07.23 92 0
2873755 GPT로 코드를 전부 다 짠다는건 허상이지만, GPT로 배우기는 쉬워짐 [2] ㅆㅇㅆ(124.216) 07.23 122 0
2873754 좇센에서 태어나는거 ㄹㅇ 축복이누 뒷통수한방(1.213) 07.23 71 0
2873753 오히려 지금이야말로 진짜 개발의 민주화 시기 아닌가 [4] ㅆㅇㅆ(124.216) 07.23 144 1
2873752 어딜가나 좆밥들은 자기들끼리 뭉친다 [1] ㅇㅇ(118.235) 07.23 86 0
2873750 1 html 1 css도 생각해보면 [1] 루도그담당(211.184) 07.23 115 0
2873749 없데요 접착제. . 넥도리아(222.233) 07.23 55 0
2873748 오히려 지금 웹 개발에 진입해야지 뭘 모르네 ㅆㅇㅆ(124.216) 07.23 82 0
2873746 94년생인데 개발자 가능할까요? [2] 프갤러(118.235) 07.23 113 0
2873745 지금 웹개발 진입하려는 사람은 뭐지 [3] 위키세카이(211.235) 07.23 214 0
2873744 때려치고싶다 [4] 프갤러(1.242) 07.23 94 0
2873742 요즘너무 텍스트로만 대화하는듯 [3] 헬마스터갤로그로 이동합니다. 07.23 118 0
2873741 접착제 어서 구해... 넥도리아(223.38) 07.23 59 0
2873739 글고 어지간하면 걍 리액트 써라 선언형 프로그래밍이라 지피티가 잘짜줌 [2] ㅆㅇㅆ(124.216) 07.23 161 0
2873738 정확하게 말해선 공통성이라기보다는 역할과 재사용성을 기반으로 해야하는데 ㅆㅇㅆ(124.216) 07.23 64 0
2873737 밑에 놈아 CSS는 그렇게하는게 아니야 [6] ㅆㅇㅆ(124.216) 07.23 151 0
2873736 행님들 프론트엔드 질문 좀 드립니다 [5] 프갤러(121.157) 07.23 211 0
2873735 하 주말동안 점검지원작업을 넣어놓네? [6] 개멍청한유라갤로그로 이동합니다. 07.23 107 0
2873734 민생지원금 나온다고 식당들 [2] 루도그담당(211.184) 07.23 110 0
2873733 스마트폰 소니 핸드폰 저항 넥도리아(220.74) 07.23 77 0
2873732 나님은 시니어 윈도우즈 프로그래머 개발자얌 네오커헠(1.237) 07.23 140 0
2873731 민생지원금 낭낭하게 쓰는 중.jpg [1] 야옹아저씨갤로그로 이동합니다. 07.23 95 0
2873730 재명지원금 쓸 수 있는곳이 너무 적어서 [2] ㅆㅇㅆ(124.216) 07.23 101 0
2873729 데브옵스라는게 내가 옛날에 서버실근무하던 그거네 [1] 네오커헠(1.237) 07.23 187 0
2873728 뉴프로 Mvp 시스템도입안내 [1] 헬마스터갤로그로 이동합니다. 07.23 68 0
2873727 돈을 여러번 못받으니 의욕이 안생긴다 [6] ㅆㅇㅆ(124.216) 07.23 107 0
2873726 대통령배 전국 토익토플 선수권 대회 배구공(119.202) 07.23 80 0
2873723 웹앱개발자들 보니 이제 다 커서IDE에서 개발하네 [3] 네오커헠(1.237) 07.23 226 0
2873722 내일이네... 민생소비지원회복쿠폰 넥도리아(220.74) 07.23 70 0
2873721 민생지원소비쿠폰으로 술쳐먹고 음주운전해서 넥도리아(223.39) 07.23 79 1
2873720 집안에 쥐새끼 아버지가 있다. 넥도리아(223.39) 07.23 54 0
2873718 그렇군, 시스템에 순응하기로한건가 통암기원숭이(211.235) 07.23 62 0
2873716 나 이쁘지? ㅇㅅㅇ [4] 헤르 미온느갤로그로 이동합니다. 07.23 96 0
2873715 태연 ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 07.23 82 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2