malloc

    96熱度

    4回答

    如果我在我的代碼使用malloc: int *x = malloc(sizeof(int)); 我得到這樣的警告從gcc: new.c:7:警告:函數 '的malloc' new.c的隱式聲明:7:警告:內置函數'malloc'的不兼容隱式聲明

    8熱度

    7回答

    我試圖找出一種方法來全局覆蓋malloc和相關函數在visual c + +(2005年)。我的設置是一個靜態鏈接的運行時庫,包括我自己的C++代碼,外部C++和c代碼的dll。我想要完成的是允許dll的用戶設置自己的內存分配函數的實現。 的解決方案,我不能使用: 重寫新的和全球的刪除, 有很多在 我的代碼庫,這意味着這不會 捕獲許多分配外部C庫。 將malloc定義爲不同的符號。這會迫使我將這個

    3熱度

    6回答

    我只是想知道,在下面的情景中,'stringvar'使用的內存在方法1完成執行後釋放了嗎? // Just some method void method2(char* str) { // Allocate 10 characters for str str = malloc(10 * sizeof(char)); } // Just another method

    7熱度

    3回答

    我知道在一個dll中創建的內存分配隨後在另一個dll中釋放會導致各種問題,特別是在CRT方面。當涉及到導出STL容器時,這些問題尤其成問題。我們已經經歷了這些各種各樣的問題之前(編寫與我們的庫鏈接自定義Adobe插件時),我們已經定義了自己的分配器,我們在我們所有的容器使用,例如,工作就是圍繞着這些問題: typedef std::vector < SessionFields, Our

    0熱度

    3回答

    我有一個函數根據表查找返回不同長度的數組。我在函數內部爲它定義了所需的內存,但是如何從指針中填充數組? 編譯器對我的兩次嘗試(註釋行)都引發相同的錯誤。請幫忙! int lookup(const char *name, float *factors) { int length; if(!strcmp(name, "foo")) { length = 6;

    5熱度

    2回答

    我正在嘗試編寫一個內存分析器,並且到目前爲止已經能夠讓我的自定義函數爲malloc,free,new和delete工作。 我試圖使用__FILE__和__LINE__記錄重載新方法內的發起者,但(如預期的)它只是提供了重載函數的詳細信息。 有沒有辦法獲得關於發起人的重載函數的細節,而不做任何改變正在測試的組件的現有代碼(如#malloc的#define)? 我使用的功能是: void* opera

    23熱度

    10回答

    我有幾個不同功能的一些代碼,看起來是這樣的: void someFunction (int *data) { data = (int *) malloc (sizeof (data)); } void useData (int *data) { printf ("%p", data); } int main() { int *data = NULL;

    6熱度

    4回答

    當通過使用recv套接字接收數據,我注意到,具有: char buffer[4]; memset(buffer, 0, 4); recv(socket, buffer, 4, 0); 我接收 mesgx 「mesg」就是我發送的,附加了一些隨機字符。 如果我使用 char * method = (char *) malloc(4); memset(buffer, 0, 4);

    -1熱度

    5回答

    任何人都可以請解釋一下嗎? struct node { int data; struct node * link; } main() { struct node *p, *list, *temp; list = p = temp = NULL; ......................... .................

    4熱度

    6回答

    從Java即將回來時,我很困惑通過使用虛空允許在下列返回值: void *emalloc(size_t s) { void *result = malloc(s); if (NULL == result) { fprintf(stderr, "MEMORY ALLOCATION FAILURE\n"); exit(EXIT_FAILURE); }