Sponsored Content
Top Forums Programming problem with realloc( i think is gcc :/ ) Post 302611431 by giampoul on Thursday 22nd of March 2012 08:53:54 PM
Old 03-22-2012
Quote:
Originally Posted by Corona688
Windows can let you get away with some very silly things -- for a while. In my early programming days I wrote a music player that crashed on quit, and I couldn't figure out why until I rewrote it for Linux. Because of a logic error, I was deleting my video surface, 60 times per second! And Windows didnt't complain!

Linux checks these things thoroughly, and killed my program the instant it did anything wrong. Much less mysterious.

You're not realloc-ing enough elements. You might even be shrinking your array.
Code:
magazi=(struct shop *)realloc(magazi,proionta2*sizeof(struct shop *));

Code:
magazi=(struct shop *)realloc(magazi,(proionta+proionta2)*sizeof(struct shop *));

So sorry gcc compiler Smilie
With my little experience i understood linux are more accurate so they need more accuracy.
You mean that if for example want an array magazi[4] i malloc it with 4 ofcourse and after if i want to make the array magazi[7] i have to realloc it with 7 ? not 3?
Also, problem remains... Exactly the same, after correcting realloc. Smilie
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Problem installing gcc

Hi! I have downloaded a precompiled gcc package but I'm having problems installing it. It is supposed to install in /usr/local and there is plenty of space left there but during the installation I get the following error message “No space left on device”. Is it some kind of temp folder that is out... (2 Replies)
Discussion started by: alfabetman
2 Replies

2. Programming

gcc Link problem

I have some crypting functions in object-file - for example,func.o Main file,from where crypting functions called, named as main.cpp . "gcc main.cpp -o main func.o" print "undefined reference to ... " But if I rename main.cpp to main.c and execute "gcc main.c -o main func.o" - ok. If anybody,... (3 Replies)
Discussion started by: Gigachel
3 Replies

3. Programming

A problem of GCC

Hi mates, I am a new comer of this forums. I have a problem while using function "fread(buffer, size, number, file-pointer)" to read a binary file. While I used the "fread()" to read the binary file under Solaris UNIX System, it worked very well. But it gets a incorrect result... (6 Replies)
Discussion started by: cquedugdylp
6 Replies

4. Solaris

gcc 3.4 Regex problem

Hello All, I have been using String.h with gcc 2.95. Now I have upgraded to gcc 3.4. The support for String.h has been removed and I believe Regex.h support is also not inbuilt. So I tried to build my own library for String.h. I had to use Regex.h and rx.h for a succesful library compilation.... (0 Replies)
Discussion started by: manishs13
0 Replies

5. AIX

The problem after install gcc on AIX 5.3

The problem after install gcc on AIX 5.3 I download 5 rpm packages from IBM AIX Toolbox Download Page - Alphabetical Listing and install them. rpm -ivh gcc-4.0.0-1.aix5.3.ppc.rpm rpm -ivh libgcc-4.0.0-1.aix5.3.ppc.rpm rpm -ivh libstdcplusplus-4.0.0-1.aix5.3.ppc.rpm rpm -ivh... (1 Reply)
Discussion started by: zither
1 Replies

6. Red Hat

GCC version problem

I have a host PC and a target system . Host System -> gcc (3.2) Redhat linux kernel 2.4.20-8 , glibc 2.3 Target System -> gcc (4.1) Fedora linux kernel 2.6.18-1.2798.fc6, glibc 2.5 I would like to build test program that can be run on both systems --------------------------- ... (0 Replies)
Discussion started by: mugdha
0 Replies

7. Solaris

gcc problem on Solaris

I just installed gcc from the latest package at sunfreeware.com using pkgadd. I write a simple 'Hello World!' program to test it. I try to compile it and I get this error: rockstar# gcc hello.c -o hello ld.so.1: gcc: fatal: libiconv.so.2: open failed: No such file or directory Killed I... (0 Replies)
Discussion started by: Bradj47
0 Replies

8. Programming

Problem with static compiling - GCC

Hi guys. I want to compile three files: gcc -static main.c fib.c fib.h it is pure C i mean i use standard C library. but it gives me this error: /usr/bin/ld: cannot find -lc collect2: ld returned 1 exit status what should i do? (4 Replies)
Discussion started by: majid.merkava
4 Replies

9. Programming

gcc problem

Hi, I just try to solve the problem why one app failing on box1 and runs ok on box2, they have diff gcc version as I see from /proc/version: box1:: 3.4.1 box2:: 4.1.2 It's RedHat 64b boxes, so I can not run some <make all> command on box1, do you think I need to upgrade (if I'm using... (1 Reply)
Discussion started by: mario17
1 Replies

10. Red Hat

Installatin problem in installing gcc-4.9.0

Hi to all, i'm installing gcc-4.9.0 into my RedHat 6.4 pc. I configure like this :- # mkdir objdir # ./../gcc-4.9.0/configure # make and now having this problem :- checking for x86_64-unknown-linux-gnu-gcc... /software/gcc/objdir/./gcc/xgcc -B/software/gcc/objdir/./gcc/... (0 Replies)
Discussion started by: rahulvishwa
0 Replies
MALLOC(3)						     Library Functions Manual							 MALLOC(3)

NAME
malloc, free, realloc, calloc - main memory allocator SYNOPSIS
char *malloc(size) unsigned size; free(ptr) char *ptr; char *realloc(ptr, size) char *ptr; unsigned size; char *calloc(nelem, elsize) unsigned nelem, elsize; DESCRIPTION
Malloc and free provide a simple general-purpose memory allocation package. Malloc returns a pointer to a block of at least size bytes beginning on a word boundary. The argument to free is a pointer to a block previously allocated by malloc; this space is made available for further allocation, but its contents are left undisturbed. Needless to say, grave disorder will result if the space assigned by malloc is overrun or if some random number is handed to free. Malloc allocates the first big enough contiguous reach of free space found in a circular search from the last block allocated or freed, coalescing adjacent free blocks as it searches. It calls sbrk (see break(2)) to get more memory from the system when there is no suitable space already free. Realloc changes the size of the block pointed to by ptr to size bytes and returns a pointer to the (possibly moved) block. The contents will be unchanged up to the lesser of the new and old sizes. Realloc also works if ptr points to a block freed since the last call of malloc, realloc or calloc; thus sequences of free, malloc and realloc can exploit the search strategy of malloc to do storage compaction. Calloc allocates space for an array of nelem elements of size elsize. The space is initialized to zeros. Each of the allocation routines returns a pointer to space suitably aligned (after possible pointer coercion) for storage of any type of object. DIAGNOSTICS
Malloc, realloc and calloc return a null pointer (0) if there is no available memory or if the arena has been detectably corrupted by stor- ing outside the bounds of a block. Malloc may be recompiled to check the arena very stringently on every transaction; see the source code. BUGS
When realloc returns 0, the block pointed to by ptr may be destroyed. MALLOC(3)
All times are GMT -4. The time now is 09:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy