디시인사이드 갤러리

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

갤러리 본문 영역

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

발명도둑잡기(118.235) 2025.07.13 06:00:02
조회 114 추천 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/17 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
2871874 자기가 보수면 기업이 신입 안뽑는데에 대해서 지지하세요 ㅆㅇㅆ(124.216) 07.15 97 0
2871873 진보 보수 경제학 하니까 생각나는데 [10] 프갤러(175.208) 07.15 129 0
2871872 나 깡계 하나 팔까 [1] 루도그담당(118.235) 07.15 75 0
2871869 진보 보수에 대한 경제학적 관측에 대해서 근거를 들어드리겠습니다. [2] ㅆㅇㅆ(124.216) 07.15 106 0
2871868 si는 아직 일자리 있다 아님? [2] ㅇㅇ(112.170) 07.15 306 1
2871867 아다 미쳤나? 프갤러(49.165) 07.15 79 0
2871866 가끔 이해가 안가는게 자기가 보수인데 왜 신입 채용 안하냐는 저능아가.. ㅆㅇㅆ(124.216) 07.15 69 1
2871864 코딩은 끝낫당 그리고.. [1] ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 110 0
2871863 사실 경력있는 신입만 쓰겠다는 1찍 정책이 아니라 2찍 정책이거든요 [15] ㅆㅇㅆ(124.216) 07.15 161 0
2871862 코딩은 이제 진짜 끝장인가? [10] 프갤러(49.165) 07.15 211 2
2871861 헬마스터 햄 글보다가 내가 이재명씨 조금 호감된 이유 [5] ㅆㅇㅆ(124.216) 07.15 127 0
2871860 잠 존나 오는데 어캄 [2] 루도그담당(118.235) 07.15 88 0
2871859 윈도우도 WSL2 나온 시점에 사실 크게 차이가 없잖아 [1] ㅆㅇㅆ(124.216) 07.15 111 0
2871856 개발자가 맥을 사용하는 이유가 윈도우에서 개발언어를 지원 안해서지? [3] 프갤러(121.137) 07.15 146 0
2871854 이재명씨 지원금 뜨셨구나 [10] 헬마스터갤로그로 이동합니다. 07.15 155 0
2871852 풀스택 신입 면접 보고 왔는데 영업 서비스직 가능하냐고 물음 [2] ㅇㅇ(118.235) 07.15 434 0
2871851 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ [5] ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 99 0
2871850 2차 썰재업) 아이돌연구소를 왜 ㅈ갤 화교분탕들이 실드쳤을까? ㅇㅇ(110.70) 07.15 75 0
2871848 강유현 그립다 [2] 프갤러(211.235) 07.15 103 0
2871847 금연 3주 넘었는데, 어제부터 진짜 하루종일 라이터만 만지작 거리는중 ㅇㅇ(223.38) 07.15 70 0
2871846 파킹통장보다 CMA가 나은 이유 발명도둑잡기갤로그로 이동합니다. 07.15 218 0
2871845 exe 빌드가 안되서 납품 내일로 미룸 ㅆㅇㅆ(124.216) 07.15 88 0
2871844 프갤에서 레거시 싸개라는 건 독립 개발자 관점에서 [5] ㅆㅇㅆ(124.216) 07.15 1569 4
2871843 요즘도 국비 -> 뻥튀기 si 코스 살아남아있냐? [1] 프갤러(118.235) 07.15 302 1
2871842 근데 신입이 레거시 될수밖에 없지 않냐 신입이 최신 문법 따라가긴 좀.. [4] ㅆㅇㅆ(124.216) 07.15 790 0
2871841 루비 그 사람 아님? [1] 프갤러(1.229) 07.15 127 2
2871840 [정조준194] 윤석열은 미국에 토사구팽당했다 발명도둑잡기갤로그로 이동합니다. 07.15 76 0
2871839 오늘 일 존1나 열심히 하는 중 [2] 아스카영원히사랑해갤로그로 이동합니다. 07.15 113 0
2871838 핸드폰 흠... [3] 개멍청한유라갤로그로 이동합니다. 07.15 92 0
2871837 레거시 정의 확립해줌 [6] 개멍청한유라갤로그로 이동합니다. 07.15 152 0
2871836 바쁘다 [8] 개멍청한유라갤로그로 이동합니다. 07.15 101 0
2871835 아까 유튜브 보는데 [2] 루도그담당(118.235) 07.15 93 0
2871834 내가 욕하는것들은 오히려 더 잘나가구나 재벌 넥사크로 자바 [1] 뒷통수한방(1.213) 07.15 116 0
2871832 나님 점심 마니 머거서 잠이 온다냥.. 졸리.. 졸리.. ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 85 0
2871831 냥덩이가 절대 과식하지 않는 진짜 이유⭐+ [6] ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 123 0
2871829 나님 방금 폰 바꿨다 [17] 루도그담당(211.184) 07.15 194 0
2871826 한국 개발회사들의 웃기는 점은 시장에 신호를 보내는건 최신스택인데 [2] ㅆㅇㅆ(124.216) 07.15 146 0
2871825 채용지식보면 DDD,CQRS,이벤트 Sourcing 당연히 하는거같은데 [2] ㅆㅇㅆ(124.216) 07.15 140 0
2871824 저커버그 머스크 게이츠 좇센인이였으면 노예맞잖누 뒷통수한방(1.213) 07.15 77 1
2871822 네이티브 [3] 배구공(119.202) 07.15 99 0
2871821 신입채용 진짜의미 [2] ㅇㅇ(106.102) 07.15 190 2
2871819 C/C++ 특징. [1] 프갤러(59.16) 07.15 127 0
2871818 냐? ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 83 0
2871817 실베 4년제라는데 자바만 배운다는거 개소리 아님?? [5] ㅇㅇ(106.101) 07.15 132 0
2871816 미국 뇌신경과학자가 말하는 졸릴때 잠에서 깨는 방법 발명도둑잡기갤로그로 이동합니다. 07.15 64 0
2871815 주식 초보 수익 ㅇㅇ(211.246) 07.15 118 0
2871813 진짜 신입 모집 이래놓고 점점 필요역량 길어지는게 웃김 [4] ㅇㅇ(221.146) 07.15 205 0
2871811 챗티씨 왜케 빡대갈통이시냐? [4] 헬마스터갤로그로 이동합니다. 07.15 145 1
2871810 한국 ai 는 유료 API 가져다 쓰는 쪽으로 [4] 무한탐구(218.234) 07.15 146 0
2871809 인생은 아름답구 냥덩은 발전한당⭐+ By 나님 ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 78 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2