2017-12-06 2 views
2

나는 그 대답이 절대로 바랄 것이라고 생각한다. 이러한 메모리를 명시 적으로 해제해야합니다. 예를 들어malloc 가비지가 할당 한 메모리는 언제 수집됩니까?

내가 쓴 경우 경우 :

julia> x = Libc.malloc(1_000_000) 
Ptr{Void} @0x0000000002f6bd80 

julia> x = nothing 

난 그냥 ~ 1MB의 메모리를 누출?

그러나 나는 문서가 전혀 언급하지 않기 때문에이 , 사실 100 % 확실하지입니다.

은 C 표준 라이브러리에서 help?> Libc.malloc(3)
malloc(size::Integer) -> Ptr{Void}

통화의 malloc.

+0

마치 1MB의 메모리가 누출 된 것처럼 거의 소리가납니다. p –

답변

6

예, 당신이 올바른지 확인합니다.

는 줄리아는 완벽하게 낮은 수준에 C와 상호 운용 설계, 그래서 당신이 C 래퍼 라이브러리를 사용할 때, 당신은 당신은 C 의미없이 가비지 수집을 얻을 수있다. Libc.malloc에 ​​대한

워드 프로세서는 C를 가르치기 위해 작성된 것이 아니라, 경우에 사람이 혼동됩니다에, Libc.free을 언급 개선 될 수있다.

관련 문제