01-05-2002
Memory allocation is a housekeeping function of the structure of the program (how it is written and memory is allocated). You can 'reallocate' more memory to a running program or compiled binary.... at least I've never heard of a way to do it!
You can rewrite the program to allocation more memory, however, if you have access to the source code..... try taking a look at the malloc man page.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hello!
First of all, forgive me for bad English.
When I starts new thread (pthread_create), system allocates some memory for it (for example, for thread's stack). I wonder when does it deallocate this memory? The problem is that I have a program which sometimes creates new threads and sometimes... (3 Replies)
Discussion started by: prankster
3 Replies
2. HP-UX
Hi all,
I have a HP-UX Server with 4 gigabytes of physical RAM. When I use the 'Glance' utility to see what my memory utilization is, my memory usage shows up maxed out at 99%. I shut off all the known processes that I'm running on that box and the memory utilization is still at 78% (with Swap... (3 Replies)
Discussion started by: dehuang83
3 Replies
3. Programming
Hi,
I am trying to process line by line of a file. But I should not be allocating static allocation for reading the contents of the file. The memory should be dynamically allocated. The confusion here is how do I determine the size of each line, put it into a buffer with the memory allocated... (11 Replies)
Discussion started by: naan
11 Replies
4. Programming
I have a program that will fetch some particular lines and store it in a buffer for further operations.The code which is given below works but with some errors.I couldn't trace out the error.Can anybody help on this plz??
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#define... (1 Reply)
Discussion started by: vigneshinbox
1 Replies
5. Programming
I have a scenario like the client has to search for the active server.There will be many servers.But not all server are active.And at a time not more than one server will be active.
The client will be in active state always i.e, it should always search for an active server until it gets one.I... (1 Reply)
Discussion started by: vigneshinbox
1 Replies
6. Programming
Hi everyone,
I'm not new to C programming, but I'm having question regarding the memory allocation of a pointer variable which, for instance, will be declared in main(), but its memory will be allocated in subroutine.
To clearify my question, I provide a small working example:
#include... (1 Reply)
Discussion started by: MIB_Maik
1 Replies
7. Programming
Hi Experts
I need some help in static memory allocation in C. I have a program in which I declared 2 variables, one char array and one integer. I was little surprised to see the addresses of the variables.
First:
int x;
char a;
printf("%u %u\n', &x, a);
I got the addresses displayed... (2 Replies)
Discussion started by: unx_freak
2 Replies
8. Shell Programming and Scripting
hello all..
i'm a beginner in shell scripting. I need to know what is really happening when we are creating a variable in shell scripting? how memory is allocated for that variable? (3 Replies)
Discussion started by: aarathy
3 Replies
9. Programming
hi
in the following code, how the memory is allocated for a1 which holds the values of a2 after cpy function call.
#include <stdio.h>
#include <string.h>
void cpy(char* d, const char* s){
while(*d++=*s++);
}
main(){
char* a1;
char* a2="done";
cpy(a1,a2);
... (3 Replies)
Discussion started by: mprakasheee
3 Replies
10. Programming
Hello,
I am new to C++ programming, so I'm still getting a feel for things. I recently wrote a simple C++ program (to be used as a ROOT Macro) to conduct a statistical analysis of a varied version of the Monty Hall problem (code below). Basically, the programs runs a few simple calculations to... (7 Replies)
Discussion started by: Tyler_92
7 Replies
LEARN ABOUT CENTOS
mcheck_pedantic
MCHECK(3) Linux Programmer's Manual MCHECK(3)
NAME
mcheck, mcheck_check_all, mcheck_pedantic, mprobe - heap consistency checking
SYNOPSIS
#include <mcheck.h>
int mcheck(void (*abortfunc)(enum mcheck_status mstatus));
int mcheck_pedantic(void (*abortfunc)(enum mcheck_status mstatus));
void mcheck_check_all(void);
enum mcheck_status mprobe(void *ptr);
DESCRIPTION
The mcheck() function installs a set of debugging hooks for the malloc(3) family of memory-allocation functions. These hooks cause certain
consistency checks to be performed on the state of the heap. The checks can detect application errors such as freeing a block of memory
more than once or corrupting the bookkeeping data structures that immediately precede a block of allocated memory.
To be effective, the mcheck() function must be called before the first call to malloc(3) or a related function. In cases where this is
difficult to ensure, linking the program with -mcheck inserts an implicit call to mcheck() (with a NULL argument) before the first call to
a memory-allocation function.
The mcheck_pedantic() function is similar to mcheck(), but performs checks on all allocated blocks whenever one of the memory-allocation
functions is called. This can be very slow!
The mcheck_check_all() function causes an immediate check on all allocated blocks. This call is effective only if mcheck() is called
beforehand.
If the system detects an inconsistency in the heap, the caller-supplied function pointed to by abortfunc is invoked with a single argument
argument, mstatus, that indicates what type of inconsistency was detected. If abortfunc is NULL, a default function prints an error mes-
sage on stderr and calls abort(3).
The mprobe() function performs a consistency check on the block of allocated memory pointed to by ptr. The mcheck() function should be
called beforehand (otherwise mprobe() returns MCHECK_DISABLED).
The following list describes the values returned by mprobe() or passed as the mstatus argument when abortfunc is invoked:
MCHECK_DISABLED (mprobe() only)
mcheck() was not called before the first memory allocation function was called. Consistency checking is not possible.
MCHECK_OK (mprobe() only)
No inconsistency detected.
MCHECK_HEAD
Memory preceding an allocated block was clobbered.
MCHECK_TAIL
Memory following an allocated block was clobbered.
MCHECK_FREE
A block of memory was freed twice.
RETURN VALUE
mcheck() and mcheck_pedantic() return 0 on success, or -1 on error.
VERSIONS
The mcheck_pedantic() and mcheck_check_all() functions are available since glibc 2.2. The mcheck() and mprobe() functions are present
since at least glibc 2.0
CONFORMING TO
These functions are GNU extensions.
NOTES
Linking a program with -lmcheck and using the MALLOC_CHECK_ environment variable (described in mallopt(3)) cause the same kinds of errors
to be detected. But, using MALLOC_CHECK_ does not require the application to be relinked.
EXAMPLE
The program below calls mcheck() with a NULL argument and then frees the same block of memory twice. The following shell session demon-
strates what happens when running the program:
$ ./a.out
About to free
About to free a second time
block freed twice
Aborted (core dumped)
Program source
#include <stdlib.h>
#include <stdio.h>
#include <mcheck.h>
int
main(int argc, char *argv[])
{
char *p;
if (mcheck(NULL) != 0) {
fprintf(stderr, "mcheck() failed
");
exit(EXIT_FAILURE);
}
p = malloc(1000);
fprintf(stderr, "About to free
");
free(p);
fprintf(stderr, "
About to free a second time
");
free(p);
exit(EXIT_SUCCESS);
}
SEE ALSO
malloc(3), mallopt(3), mtrace(3)
COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU
2012-04-18 MCHECK(3)