Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- topic
- 그랑사가
- 우분투
- mariaDB
- 프로그래밍
- ubuntu
- 데이터 베이스
- C언어
- 오늘도 우라라 공략
- 마리아 DB
- MSG
- C++
- ros
- LeetCode
- Subscribe
- while
- mysql
- 리눅스
- 오늘도 우라라
- JungOl
- 환경설정
- install opencv-4.4.0 on ubuntu 22.04
- 등차수열
- 오늘도 우라라 펫
- 기초
- 오늘도 우라라 펫 공략
- publish
- 토픽
- 반복문
- Linux
Archives
- Today
- Total
하루의 쉼터
[Linux] 동적 할당 크기(SIZE) 구하기 본문
반응형
| LINUX에서 동적할당으로 만들어진 포인터의 실제 크기를 구하는 함수
1. 필요 경우
- 포인터를 통하여 메모리를 할당하는 경우 사이즈가 필요한 경우들이 종종 있다.
- ex) 배열이 아닌 포인터로 함수 매개 변수를 이용하였는데 크기가 필요한 경우 등.
2. 함수
아래는 Windows 상에 있는 _msize와 같은 기능을 하는 함수이다.
size_t malloc_usable_size (void *ptr);
Hearder File | malloc.h |
Return Type | size_t |
Name | malloc_usable_size |
Parameters | void *ptr |
* 기능 : 사용되는 메모리의 블록 바이트를 리턴 하여 준다.
* Hearder File : 함수를 사용하기 위해 필요한 헤더파일 : malloc.h
* Return Type : 할당된 메모리 블록에서 사용 가능한 바이트 수
* 매개 변수 : 동적 할당된 메모리 변수
예제)
#include<iostream>
#include<malloc.h>
int main(){
int *num=(int*)malloc(sizeof(int)*10);
size_t num_size = malloc_usable_size(num)/sizeof(int);
retrun 0;
}
단 CPU 바이트 순서 및 정렬에 따라 요청된 크기보다 클수 있음.
stackoverflow.com/questions/44581168/malloc-usable-size-returns-the-wrong-size
www.unix.com/man-page/linux/3/malloc_usable_size/
반응형
'프로그래밍 > C언어' 카테고리의 다른 글
[Error] free(): double free detected in tcache 2 Aborted (core dumped) (0) | 2021.06.14 |
---|---|
[비교] 반복문 While문과 For문의 차이 (0) | 2021.02.03 |
[Algorithm] Stack_스택_LIFO (0) | 2020.12.09 |
[Algorithm] Linked List_연결리스트 (0) | 2020.12.08 |
[Algorithm] 동적메모리(Heap) (0) | 2020.12.08 |
Comments