06-01-2009
The size of the executable will generally be smaller with dynamic memory allocation.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I would like to know how I could allocate some more memory to a process.
Please note that I am not the root user. (1 Reply)
Discussion started by: sagar
1 Replies
2. Programming
Hi
I want to know when and where memory for static variables are allocated in a C program. If it allocates during compilation will memory be allocated for the variable "i" during compilation itself.
int count();
int main(){
printf("%d", count());
return 0;
}
int count()
{
... (8 Replies)
Discussion started by: nathanmca
8 Replies
3. UNIX for Dummies Questions & Answers
HI Gurus,
I had a requirement where i want to allocate a file name into a variable and get the file name in the subj of email.
Suppose i have a file File002.pdx in the folder /home/pcs/system/files/File002.pdx
Iam using a variable a = `ls /home/pcs/system/files/*.pdx`
Iam using *... (2 Replies)
Discussion started by: pssandeep
2 Replies
4. 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
5. Programming
Hi,
I have the following problem: i must allocate a dynamic array from a subroutine which should return such array to main function. The subroutine has already a return parameter so i thought of pass the array as I/O parameter. I tried the following program but it doesn't work (segmentation... (11 Replies)
Discussion started by: littleboyblu
11 Replies
6. Programming
Hi,
is it possible in C to allocate dynamically a global variable?? (3 Replies)
Discussion started by: littleboyblu
3 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. Programming
Hello Guys
I have a small confusion in the dynamic memory allocation concept.
If we declare a pointer say a char pointer, we need to allocate adequate memory space.
char* str = (char*)malloc(20*sizeof(char));
str = "This is a string";
But this will also work.
char* str = "This... (2 Replies)
Discussion started by: tene
2 Replies
9. Solaris
Hi guys!
Could you tell me what's this figure about? (See the attached figure below.)
This is a representation of block allocation filesystem and extent allocation filesystem in Solaris.
Does this mean that in a block-based allocation, data are placed in individual blocks while in... (0 Replies)
Discussion started by: arah
0 Replies
10. Programming
When we dynamically allocate the memory say 100 integers say
int *x = new int(1000);
then does entire chunk of memory gets allocated at once after the completion of the statement?
I mean will the the concept of page fault come into picture over here? (3 Replies)
Discussion started by: rupeshkp728
3 Replies
LEARN ABOUT OPENDARWIN
tcl_free
Tcl_Alloc(3) Tcl Library Procedures Tcl_Alloc(3)
__________________________________________________________________________________________________________________________________________________
NAME
Tcl_Alloc, Tcl_Free, Tcl_Realloc, Tcl_AttemptAlloc, Tcl_AttemptRealloc, ckalloc, ckfree, ckrealloc, attemptckalloc, attemptckrealloc -
allocate or free heap memory
SYNOPSIS
#include <tcl.h>
char *
Tcl_Alloc(size)
void
Tcl_Free(ptr)
char *
Tcl_Realloc(ptr, size)
char *
Tcl_AttemptAlloc(size)
char *
Tcl_AttemptRealloc(ptr, size)
char *
ckalloc(size)
void
ckfree(ptr)
char *
ckrealloc(ptr, size)
char *
attemptckalloc(size)
char *
attemptckrealloc(ptr, size)
ARGUMENTS
int size (in) Size in bytes of the memory block to allocate.
char *ptr (in) Pointer to memory block to free or realloc.
_________________________________________________________________
DESCRIPTION
These procedures provide a platform and compiler independent interface for memory allocation. Programs that need to transfer ownership of
memory blocks between Tcl and other modules should use these routines rather than the native malloc() and free() routines provided by the C
run-time library.
Tcl_Alloc returns a pointer to a block of at least size bytes suitably aligned for any use.
Tcl_Free makes the space referred to by ptr available for further allocation.
Tcl_Realloc changes the size of the block pointed to by ptr to size bytes and returns a pointer to the new block. The contents will be
unchanged up to the lesser of the new and old sizes. The returned location may be different from ptr.
Tcl_AttemptAlloc and Tcl_AttemptRealloc are identical in function to Tcl_Alloc and Tcl_Realloc, except that Tcl_AttemptAlloc and
Tcl_AttemptRealloc will not cause the Tcl interpreter to panic if the memory allocation fails. If the allocation fails, these functions
will return NULL. Note that on some platforms, attempting to allocate a block of memory will also cause these functions to return NULL.
The procedures ckalloc, ckfree, ckrealloc, attemptckalloc, and attemptckrealloc are implemented as macros. Normally, they are synonyms for
the corresponding procedures documented on this page. When Tcl and all modules calling Tcl are compiled with TCL_MEM_DEBUG defined, how-
ever, these macros are redefined to be special debugging versions of of these procedures. To support Tcl's memory debugging within a mod-
ule, use the macros rather than direct calls to Tcl_Alloc, etc.
KEYWORDS
alloc, allocation, free, malloc, memory, realloc, TCL_MEM_DEBUG
Tcl 7.5 Tcl_Alloc(3)