私はXCodeを試して他の人のWindowsコードをコンパイルしようとしています。なぜ "宣言されていない識別子 'malloc'を使用していますか?"
このあります:
inline GMVariable(const char* a) {
unsigned int len = strlen(a);
char *data = (char*)(malloc(len+13));
if(data==NULL) {
}
// Apparently the first two bytes are the code page (0xfde9 = UTF8)
// and the next two bytes are the number of bytes per character (1).
// But it also works if you just set it to 0, apparently.
// This is little-endian, so the two first bytes actually go last.
*(unsigned int*)(data) = 0x0001fde9;
// This is the reference count. I just set it to a high value
// so GM doesn't try to free the memory.
*(unsigned int*)(data+4) = 1000;
// Finally, the length of the string.
*(unsigned int*)(data+8) = len;
memcpy(data+12, a, len+1);
type = 1;
real = 0.0;
string = data+12;
padding = 0;
}
これは、ヘッダファイルです。
それはmemcpyを、自由、
ものためのstrlen関数宣言されていない識別子 'のmalloc' の
使用上の私を呼び出します。
何が起こっているのですか?申し訳ありませんが、これは痛いほどシンプルですが、私はCとC++を初めて使用しています
あなたはstdlib.hを含んでいますか? –
@WillAyd私はそれを含めたところで、エラーはstrlenとmemcpyに短縮されました。ありがとう、しかし、これらの2はどうですか? –