c++ - jemalloc 怎么自动替换掉项目中已使用的malloc和new?
伊谢尔伦
伊谢尔伦 2017-04-17 15:03:28
0
1
2464

请教一下
在windows下使用jemalloc,看了下测试例子,是调用je_mallocje_free操作的
但是项目中已经有了很多malloc和new

必须自己去处理new以及stl::allocator替换成je_malloc么?
还是有类似tcmalloc一样比较方便的使用方法?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(1)
黄舟

Windows에서는 어떻게 사용하는지 모르겠고, VS도 잘 모르지만 원칙은 적용하면 될 것 같습니다.
아직 gcc/mingw를 사용하고 있다면 먼저 jemalloc 라이브러리를 직접 링크한 후 jemalloc을 사용하는 구현으로 전역적으로 교체할 수 있습니다.
다음은 예시입니다:
cc ​​​​app.c -o app -L${JEMALLOC_PATH}/lib -Wl,-rpath,${JEMALLOC_PATH}/lib -ljemalloc
문서에서:
https://github.com/jemalloc/j...
Linux에서는 컴파일된 jemalloc 라이브러리 경로를 LD_LIBRARY_PATH에 직접 추가할 수도 있습니다

이것은 연결 중 종속성 주입의 일반적인 사용입니다.
원래 malloc 기능이 어디서 왔는지, 현재 프로그램과 어떻게 연결되는지 답변해 볼 수 있나요?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿