01-18-2011
I guess what prompted all this was the following remark (which I might even have overlooked since I didn't read the entire thread in detail):
Quote:
Since they're in stack space their addresses are very high, and end up flipping over to negative when you print them as signed integers.
Certainly I agree that the properties of scope, duration and even limitations should be understood.
However I disagree that the address space layout is a good tool to do this.
The address printed by the original poster
happened to have a "high" address, so high that it will have the sign bit set if looked at through a signed integer. That is all there is to know at this (and most any) stage, IMO (which you are free to disagree with and I'm not going to argue about
)
10 More Discussions You Might Find Interesting
1. Programming
Hi all,
Can anyone tell me a little about the datatype FILE, which represents stream. What does its structure look like, and in which header file is it defined and so on...
Ex :
FILE *fp ;
fp = fopen("filename", "w") ; (6 Replies)
Discussion started by: milhan
6 Replies
2. Programming
Hi,
I am trying to understand an very old C program.
....
time_t start, end;
ptr = localtime(&start);
...
fprintf(out, "%-35s 01 %5s %2s %10d 1 5 /tty/M%d/%02d %24s", buffer3, job, ver, start, mach_num,atoi(buffer), asctime(ptr));
fprintf(out, "%-35s 03 %5s %2s %10d 1 5... (9 Replies)
Discussion started by: whatisthis
9 Replies
3. Programming
I am writing some code to do analysis on the file system (HP-UX 11.11).
I am using stat(..) to get file information. My problem is that the file-size may exceed the data types defined in 'sys/stat.h' & 'sys/types.h' respectively.
Thus file-sizes in the Giga-byte range are not read correctly.... (2 Replies)
Discussion started by: ALTRUNVRSOFLN
2 Replies
4. AIX
Hello,
I get this message : "Value too large to be stored in data type" when I try to open a 3Gb file.
Can someone helps me to resolve the problem.
Thank you very much (5 Replies)
Discussion started by: limame
5 Replies
5. UNIX for Dummies Questions & Answers
I have seen it done at my job before, there is a command that will make a notepad and show the directorie path, subfolders, and size of the subfolders? But i dont want it to go lower than 2 levels for example:
folder_01 10 GB
subfolder_02 10 GB
subfolder_03 10 GB... (4 Replies)
Discussion started by: JUSSAN007
4 Replies
6. Shell Programming and Scripting
I am using perl 5.8.0.
I need to check some values to see it they are floats. Our system does not have Data::Types so I can't use is_float. Is there something else that I can use? The only thing in Data is Dump.pm. I am not allowed to download anything to our system so I have to use what I have.... (3 Replies)
Discussion started by: ajgwin
3 Replies
7. UNIX for Advanced & Expert Users
Dear All,
How internally memory allocated when we declare the float data type.
how many bytes allocated for decimal and how many bytes for fraction.
kindly help me in this regards. (2 Replies)
Discussion started by: rajamohan
2 Replies
8. Shell Programming and Scripting
I'm not a unix guy so excuses my ignorance... I'm the database ETL guy.
I'm trying to be proactive and devise a plan B for a ETL process where I expect a file 10X larger than what I process daily for a recast job. The ETL may handle it but I just don't know.
This file may need to be split... (3 Replies)
Discussion started by: john091
3 Replies
9. Web Development
Hi everybody,
I`m very new with PHP and Databases and I having the follow issue with prices data..
The original information is in CSV files.
The prices have formatted with commas and dots as follow:
12,300.99 -->(thousands separated by commas)
3,500.25 -->(thousands separated... (10 Replies)
Discussion started by: cgkmal
10 Replies
10. Programming
This is from a program I wrote over in 1998 that I am trying to compile on a linux machine:
void write_line (FILE *fp, int rec_no, line_rec *arec)
{
fpos_t woffset;
woffset = (rec_no - 1) * sizeof(line_rec);
fsetpos(fp,&woffset);
fwrite(arec,sizeof(line_rec),1,fp);
}On the line... (2 Replies)
Discussion started by: wbport
2 Replies
LEARN ABOUT OPENDARWIN
get_end
GET_END(3) Library Functions Manual GET_END(3)
NAME
get_end, get_etext, get_edata - get values of UNIX link editor defined symbols
SYNOPSIS
#include <mach-o/getsect.h>
unsigned long get_end();
unsigned long get_etext();
unsigned long get_edata();
DESCRIPTION
These routines provide a stopgap measure to programs that use the UNIX link-editor defined symbols. Use of these routines is very strongly
discouraged. The problem is that any program that is using UNIX link editor defined symbols (_end, _etext or _edata) is making assumptions
that the program has the memory layout of a UNIX program.
This is an incorrect assumption for a program built by the Mach-O link editor. The reason that these routines are provided is that if very
minimal assumptions about the layout are used and the default format and memory layout of the Mach-O link editor is used to build the pro-
gram, some things may work by using the values returned by these routines in place of the addresses of their UNIX link-editor defined sym-
bols. So use at your own risk, and only if you know what your doing. Or better yet, convert the program to use the appropriate Mach or
Mach-O functions. If you are trying to allocate memory use vm_allocate(2), if you are trying to find out about your address space use
vm_region(2) and if you are trying to find out where your program is loaded use the dyld(3) functions.
The values of the UNIX link-editor defined symbols _etext, _edata and _end are returned by the routines get_etext, get_edata, and get_end
respectively. In a Mach-O file they have the following values: get_etext returns the first address after the (__TEXT,__text) section, note
this my or may not be the only section in the __TEXT segment. get_edata returns the first address after the (__DATA,__data) section, note
this my or may not be the last non-zero fill section in the __DATA segment. get_end returns the first address after the last segment in
the executable, note a shared library may be loaded at this address.
SEE ALSO
ld(1), dyld(3)
Apple Computer, Inc. April 10, 1998 GET_END(3)