Aşağıdaki C bulmacasıyla karşılaştım:
S: Aşağıdaki program neden IA-64'e ayrılıyor, ancak IA-32'de iyi çalışıyor?
int main()
{
int* p;
p = (int*)malloc(sizeof(int));
*p = 10;
return 0;
}
int64 bitlik bir makinedeki boyutunun bir göstericinin boyutuyla aynı olmayabileceğini biliyorum ( int32 bit ve işaretçi 64 bit olabilir). Ancak bunun yukarıdaki programla nasıl bir ilgisi olduğundan emin değilim. Herhangi bir fikir?
#include stdlib.h(malloc için) uyarısı olmadan derler
#include <stdlib.h>, mükemmel bir şekilde bulun, ama söz konusu değil.
sizeof(int) == sizeof(int*)örneğin işaretçilerin intkullanılan arama kuralındaki s'ye farklı bir kayıt olmasına rağmen geri döndüğü bir platformda yasal olarak başarısız olabilir .
malloc(). GCC diyor ki: warning: incompatible implicit declaration of built-in function 'malloc'çok.
stdlib.hDahil edilmemek gibi aptalca bir şey mi?