디시인사이드 갤러리

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

갤러리 본문 영역

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

발명도둑잡기(118.235) 2025.07.13 06:00:02
조회 105 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 해외에서 겪는 불합리한 대우에 대응 잘 할 것 같은 스타는? 운영자 25/11/03 - -
AD 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
2871869 진보 보수에 대한 경제학적 관측에 대해서 근거를 들어드리겠습니다. [2] ㅆㅇㅆ(124.216) 07.15 104 0
2871868 si는 아직 일자리 있다 아님? [2] ㅇㅇ(112.170) 07.15 300 1
2871867 아다 미쳤나? 프갤러(49.165) 07.15 77 0
2871866 가끔 이해가 안가는게 자기가 보수인데 왜 신입 채용 안하냐는 저능아가.. ㅆㅇㅆ(124.216) 07.15 68 1
2871864 코딩은 끝낫당 그리고.. [1] ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 108 0
2871863 사실 경력있는 신입만 쓰겠다는 1찍 정책이 아니라 2찍 정책이거든요 [15] ㅆㅇㅆ(124.216) 07.15 154 0
2871862 코딩은 이제 진짜 끝장인가? [10] 프갤러(49.165) 07.15 202 2
2871861 헬마스터 햄 글보다가 내가 이재명씨 조금 호감된 이유 [5] ㅆㅇㅆ(124.216) 07.15 122 0
2871860 잠 존나 오는데 어캄 [2] 루도그담당(118.235) 07.15 85 0
2871859 윈도우도 WSL2 나온 시점에 사실 크게 차이가 없잖아 [1] ㅆㅇㅆ(124.216) 07.15 106 0
2871856 개발자가 맥을 사용하는 이유가 윈도우에서 개발언어를 지원 안해서지? [3] 프갤러(121.137) 07.15 141 0
2871854 이재명씨 지원금 뜨셨구나 [10] 헬마스터갤로그로 이동합니다. 07.15 146 0
2871852 풀스택 신입 면접 보고 왔는데 영업 서비스직 가능하냐고 물음 [2] ㅇㅇ(118.235) 07.15 429 0
2871851 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ [5] ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 86 0
2871850 2차 썰재업) 아이돌연구소를 왜 ㅈ갤 화교분탕들이 실드쳤을까? ㅇㅇ(110.70) 07.15 74 0
2871848 강유현 그립다 [2] 프갤러(211.235) 07.15 98 0
2871847 금연 3주 넘었는데, 어제부터 진짜 하루종일 라이터만 만지작 거리는중 ㅇㅇ(223.38) 07.15 68 0
2871846 파킹통장보다 CMA가 나은 이유 발명도둑잡기갤로그로 이동합니다. 07.15 204 0
2871845 exe 빌드가 안되서 납품 내일로 미룸 ㅆㅇㅆ(124.216) 07.15 85 0
2871844 프갤에서 레거시 싸개라는 건 독립 개발자 관점에서 [5] ㅆㅇㅆ(124.216) 07.15 1477 4
2871843 요즘도 국비 -> 뻥튀기 si 코스 살아남아있냐? [1] 프갤러(118.235) 07.15 294 1
2871842 근데 신입이 레거시 될수밖에 없지 않냐 신입이 최신 문법 따라가긴 좀.. [4] ㅆㅇㅆ(124.216) 07.15 782 0
2871841 루비 그 사람 아님? [1] 프갤러(1.229) 07.15 122 2
2871840 [정조준194] 윤석열은 미국에 토사구팽당했다 발명도둑잡기갤로그로 이동합니다. 07.15 74 0
2871839 오늘 일 존1나 열심히 하는 중 [2] 아스카영원히사랑해갤로그로 이동합니다. 07.15 100 0
2871838 핸드폰 흠... [3] 개멍청한유라갤로그로 이동합니다. 07.15 90 0
2871837 레거시 정의 확립해줌 [6] 개멍청한유라갤로그로 이동합니다. 07.15 139 0
2871836 바쁘다 [8] 개멍청한유라갤로그로 이동합니다. 07.15 99 0
2871835 아까 유튜브 보는데 [2] 루도그담당(118.235) 07.15 88 0
2871834 내가 욕하는것들은 오히려 더 잘나가구나 재벌 넥사크로 자바 [1] 뒷통수한방(1.213) 07.15 110 0
2871832 나님 점심 마니 머거서 잠이 온다냥.. 졸리.. 졸리.. ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 77 0
2871831 냥덩이가 절대 과식하지 않는 진짜 이유⭐+ [6] ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 107 0
2871829 나님 방금 폰 바꿨다 [17] 루도그담당(211.184) 07.15 189 0
2871826 한국 개발회사들의 웃기는 점은 시장에 신호를 보내는건 최신스택인데 [2] ㅆㅇㅆ(124.216) 07.15 143 0
2871825 채용지식보면 DDD,CQRS,이벤트 Sourcing 당연히 하는거같은데 [2] ㅆㅇㅆ(124.216) 07.15 130 0
2871824 저커버그 머스크 게이츠 좇센인이였으면 노예맞잖누 뒷통수한방(1.213) 07.15 66 1
2871822 네이티브 [3] 배구공(119.202) 07.15 95 0
2871821 신입채용 진짜의미 [2] ㅇㅇ(106.102) 07.15 183 2
2871819 C/C++ 특징. [1] 프갤러(59.16) 07.15 121 0
2871818 냐? ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 74 0
2871817 실베 4년제라는데 자바만 배운다는거 개소리 아님?? [5] ㅇㅇ(106.101) 07.15 126 0
2871816 미국 뇌신경과학자가 말하는 졸릴때 잠에서 깨는 방법 발명도둑잡기갤로그로 이동합니다. 07.15 63 0
2871815 주식 초보 수익 ㅇㅇ(211.246) 07.15 104 0
2871813 진짜 신입 모집 이래놓고 점점 필요역량 길어지는게 웃김 [4] ㅇㅇ(221.146) 07.15 202 0
2871811 챗티씨 왜케 빡대갈통이시냐? [4] 헬마스터갤로그로 이동합니다. 07.15 142 1
2871810 한국 ai 는 유료 API 가져다 쓰는 쪽으로 [4] 무한탐구(218.234) 07.15 141 0
2871809 인생은 아름답구 냥덩은 발전한당⭐+ By 나님 ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 74 0
2871808 국비출신 자바웹개발 배웠는데 현업가서 경험해보는게 꿈이다. [6] 프갤러(180.231) 07.15 482 0
2871807 디시앱에서 왜 글 가끔 안 써짐? [1] 아스카영원히사랑해갤로그로 이동합니다. 07.15 97 0
2871806 자랑 하나 해도 되냐 [4] 아스카영원히사랑해갤로그로 이동합니다. 07.15 138 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2