03-25-2004
Address Alignment rules for structure variables
Hi,
This question might look naive, but I need to know address alignment rules used by O/S, hence posting this one.
I've following 2 structures :-
struct xyz {
char a;
int b;
char c;
}
struct abc {
char a;
char c;
int b;
}
If I print size of these 2 structures using sizeof() operator, it is 12 for xyz & 8 for abc. This is consistent on 32 as well as 64 bit machines (I'm using HP-UX).
Both structures have some no of elements of same type, only they differ in order of definition.
Then why is that size of struct xyz is 12 where as that of struct abc is 8 ?
What are precise rules for address alignment ?
Thanks in advance
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi all
Is it possible to copy a structure of a directory only.
e.g.
I have a file with the following entries that is a result of a find :-
/dir1/dir2/file.dbf
/dir1/dir2/dir3/file1.dbf
/dir1/file.dbf
I want to copy these to a directory and keep the structure however starting at a new dir... (8 Replies)
Discussion started by: jhansrod
8 Replies
2. Programming
Hi, I try to marshal a unsigned int and a char * into a buffer, and then unmarshal them later to get them out. I need to put the char * in the front and unsigned int at the end of the buffer. However, my system always give me "BUS ERROR". I am using Sun Sparcs Sloris 2.10.
My code to marshal... (6 Replies)
Discussion started by: nj302
6 Replies
3. UNIX for Advanced & Expert Users
Hi,
I am trying to write a script that will move all the files from source directory structure(multiple levels might exist) to destination directory structure. If a sub folder is source doesnot exist in destination then I have to skip and goto next level. I also need to delete the files in... (4 Replies)
Discussion started by: srmadab
4 Replies
4. Programming
Hello Groups
I am trying to find out ways of comparing a value from a 'c' structure to a value in another 'C' structure. the 'C' structure can be a List or liked list as it contains lot many records.
if we loop it in both the structures it is going to consume time.
I am looking for a simple... (3 Replies)
Discussion started by: dhanamurthy
3 Replies
5. Shell Programming and Scripting
Dear Champs,
i have a file let a.txt having value
number text
00 123
012
145 456
...etc
i need number and text column vales should right align ??? how can i achive this ???
NOTE number is of max 3 char and text can take max 7 char...so if any records are less than above lengths... (2 Replies)
Discussion started by: manas_ranjan
2 Replies
6. UNIX for Dummies Questions & Answers
We have a guy at work who is trying to copy and paste from one file to another using vi and highlighting the code to copy with a mouse.
Source file:
xyz 123 abc 999
zyx 321 cba 999
xyz 123 abc 999
But when he pastes it he gets (I put the underlines in to show... (4 Replies)
Discussion started by: dlam
4 Replies
7. Shell Programming and Scripting
Hi,
I am having a file with with format.
however, for longer xml, the xml code has been truncated like this.
F1 |###################### |String1 |<XML><REQ><MSGTYPE>DBDIRECT</MSGTYPE><SYNC>0</SYNC><CLIENT>C11</CLIENT>NAME=MYNAME|JOB=MYJOB|
| ... (3 Replies)
Discussion started by: shellwell
3 Replies
8. HP-UX
HI all,
I tried to edit my files using HP-UX but my output tends to not align when I add another character in the files
to edit my files i used the command is as follow
chmod +w filename
vi filename
Help, :eek: (1 Reply)
Discussion started by: jasonhpwong
1 Replies
9. UNIX for Beginners Questions & Answers
Dear All,
I am in the beginning stage of learning shell scripting and preparing shell script on my own now.
I would like to get help from fellow mates here.
As I am trying to take O/P with space included from I/P table.
Kindly guide me to align given I/P table as Expected O/P.
... (5 Replies)
Discussion started by: Raja007
5 Replies
LEARN ABOUT DEBIAN
pdl::char
Char(3pm) User Contributed Perl Documentation Char(3pm)
NAME
PDL::Char -- PDL subclass which allows reading and writing of fixed-length character strings as byte PDLs
SYNOPSIS
use PDL;
use PDL::Char;
my $pchar = PDL::Char->new( [['abc', 'def', 'ghi'],['jkl', 'mno', 'pqr']] );
$pchar->setstr(1,0,'foo');
print $pchar; # 'string' bound to "", perl stringify function
# Prints:
# [
# ['abc' 'foo' 'ghi']
# ['jkl' 'mno' 'pqr']
# ]
print $pchar->atstr(2,0);
# Prints:
# ghi
DESCRIPTION
This subclass of PDL allows one to manipulate PDLs of 'byte' type as if they were made of fixed length strings, not just numbers.
This type of behavior is useful when you want to work with charactar grids. The indexing is done on a string level and not a character
level for the 'setstr' and 'atstr' commands.
This module is in particular useful for writing NetCDF files that include character data using the PDL::NetCDF module.
FUNCTIONS
new
Function to create a byte PDL from a string, list of strings, list of list of strings, etc.
# create a new PDL::Char from a perl array of strings
$strpdl = PDL::Char->new( ['abc', 'def', 'ghij'] );
# Convert a PDL of type 'byte' to a PDL::Char
$strpdl1 = PDL::Char->new (sequence (byte, 4, 5)+99);
$pdlchar3d = PDL::Char->new([['abc','def','ghi'],['jkl', 'mno', 'pqr']]);
string
Function to print a character PDL (created by 'char') in a pretty format.
$char = PDL::Char->new( [['abc', 'def', 'ghi'], ['jkl', 'mno', 'pqr']] );
print $char; # 'string' bound to "", perl stringify function
# Prints:
# [
# ['abc' 'def' 'ghi']
# ['jkl' 'mno' 'pqr']
# ]
# 'string' is overloaded to the "" operator, so:
# print $char;
# should have the same effect.
setstr
Function to set one string value in a character PDL. The input position is the position of the string, not a character in the string. The
first dimension is assumed to be the length of the string.
The input string will be null-padded if the string is shorter than the first dimension of the PDL. It will be truncated if it is longer.
$char = PDL::Char->new( [['abc', 'def', 'ghi'], ['jkl', 'mno', 'pqr']] );
$char->setstr(0,1, 'foobar');
print $char; # 'string' bound to "", perl stringify function
# Prints:
# [
# ['abc' 'def' 'ghi']
# ['foo' 'mno' 'pqr']
# ]
$char->setstr(2,1, 'f');
print $char; # 'string' bound to "", perl stringify function
# Prints:
# [
# ['abc' 'def' 'ghi']
# ['foo' 'mno' 'f'] -> note that this 'f' is stored "f "
# ]
atstr
Function to fetch one string value from a PDL::Char type PDL, given a position within the PDL. The input position of the string, not a
character in the string. The length of the input string is the implied first dimension.
$char = PDL::Char->new( [['abc', 'def', 'ghi'], ['jkl', 'mno', 'pqr']] );
print $char->atstr(0,1);
# Prints:
# jkl
perl v5.14.2 2011-03-30 Char(3pm)