2017-11-24 15 views
1

I m動的メモリ割り当て用の書き込みプログラム。このプログラムでは、定義されていないシンボル_msizeのエラーが発生します。私も含めています。これで私を助けてください。エラーメッセージ:未定義シンボル_msize in C

/* Example of _msize */ 

#include <stdio.h> 
#include <stdlib.h> 
#include <malloc.h> 

void main() 
{ 
long *buffer; 
size_t size; 

buffer = (long *)malloc(100 * sizeof(long)); 
size = _msize(buffer); 
printf("The size of the buffer is %d\n", size); 
} 
+1

これは、Microsoftから据え置き型のものです。 MSVCコンパイラを使用していますか? – Mat

+1

_msize()はCの標準関数ではありません。ホームで調理されたもののようです。それを使用するには、適切なヘッダーファイルを含める必要があります。ヘッダーファイルがある_msize()を探します。サイドノート:C標準の一部ではないmain()を使わないでください。 – LethalProgrammer

+0

@ LethalProgrammer .. ヘッダーファイルでは、この機能は既に存在します。私はそれも含めました。 http://www.digitalmars.com/rtl/stdlib.html#_msize –

答えて

1

_msizeない標準C.

それはMicrosoft Visual C++(MSVC)からのものであり、そしてあなたは、Visual内など(マイクロソフトコンパイラを使用して、あなたがすでに行ったように、<malloc.h>を含める必要があり、スタジオ)。


PS:あなたの問題とは関係のない:What should main() return in C and C++?

関連する問題