Python3 관련

Python & C, C++ 메모리 공유 / Python 메모리 관리

녕집사 2022. 1. 19. 18:01
반응형

오늘은 python에서 메모리 관리에 관련한 내용에 대해 공유하고자 합니다.

 

임베디드 프로그래밍을 할 때 대부분 C, C++ 언어를 사용하여 작성합니다. 

 

하지만 최근에는 임베디드 환경에서도 하드웨어의 성능이 개선되어 python을 적용시키기도 합니다.

 

따라서 기존에 C 혹은 C++로 컴파일된 프로그램에 Python을 접목시켜서 메모리 공유를 할 수 있다면 좋지 않을까 생각했습니다.

 

이에 관련하여 간단한 파이썬의 메모리 관리에 대한 내용을 요약하게 설명드리겠습니다.

 

본 내용은 파이썬 공식 documentation에서 참고하여 작성했습니다.

 

https://docs.python.org/3/c-api/memory.html

 

▶간략 내용 요약

  1. 파이썬에서는 기본적으로 힙 영역을 사용하며, 동적 할당을 사용합니다.
  2. 힙 관리는 인터프리터 자체에서 진행이 됩니다.
  3. 힙 내부의 메모리에 대한 포인터를 사용하더라도 제어가 불가능합니다.
  4. C에서 malloc(), calloc(), realloc()을 통한 메모리 접근이 안됩니다.
  5. C와 파이썬은 서로 다른 힙 영역에서 작동합니다.

해당 내용을 살펴보면 만약에 메모리를 C와 python사이에서 공유하고자 한다면 다루는데 조금 어려움이 생기지 않을까 싶습니다. 

 

만약에 python 과 C, C++ 사이에서 메모리를 쉽게 공유할 수 있는 방법을 알고 있다면 댓글로 공유주세요.

 

 

반응형