天天看點

string.h 和memory.h,以及memory的關系

一、C語言string.h和memory.h某些函數重複

在C語言中,為了使用memset()函數,你是選擇#include <string.h>還是<memory.h>?兩個都可以,如何選擇?

<string.h>,标準裡面這麼寫的,全平台通用,<memory.h> 這個 大部分編譯器都實作了。

http://pubs.opengroup.org/onlinepubs/7908799/xsh/string.h.html 

http://www.cplusplus.com/reference/clibrary/cstring/

VC15裡面,memory.h定義了string.h裡面的部分函數,包括memset、memchr、memcmp以及相關的安全操作,定義的部分是和string.h裡面一模一樣的。

而gcc(4.4.5)裡面,memory.h裡面就直接寫了#include<string.h>。

二、memory由C++語言提供

此頭定義用于管理動态記憶體的正常實用程式,是動态記憶體管理庫的一部分。

繼續閱讀