473,320 Members | 1,694 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

How to reduce Zero Initialised region.

Hi ,
I work on an ARM processor based embedded system. Code is mainly in
C language. The project has a huge source base. We are supposed to
optimise it. Most datastructures are declared as static and which
directly go into the Zero Initialised region. We need to cut the size
of this ZI region by at least 30%.
The one way i see of doing this is by removing these static arrays
and passing a pointer to the data structure whenever required. but
since these global arrays are used through out the code. A re-write
seems inevitable!

two questions I had.
1. Am I right in doing this(passing pointer instead of making the data
structure static) ?
2. Is there any alternative to this ?
Thanks in Advance,
Ajai.

Jan 31 '07 #1
37 2282
Ajai Jose wrote:
two questions I had.
1. Am I right in doing this(passing pointer instead of making the data
structure static) ?
Yes. Better design, IMO.
2. Is there any alternative to this ?
Hard work yields better rewards.
Jan 31 '07 #2
Ajai Jose a écrit :
Hi ,
I work on an ARM processor based embedded system. Code is mainly in
C language. The project has a huge source base. We are supposed to
optimise it. Most datastructures are declared as static and which
directly go into the Zero Initialised region. We need to cut the size
of this ZI region by at least 30%.
The one way i see of doing this is by removing these static arrays
and passing a pointer to the data structure whenever required. but
since these global arrays are used through out the code. A re-write
seems inevitable!

two questions I had.
1. Am I right in doing this(passing pointer instead of making the data
structure static) ?
2. Is there any alternative to this ?
Thanks in Advance,
Ajai.
Why do you think that this is the problem?

Did you measure the program's performance to see where the
hot spots are? What data leads you to your conclusion that
the static data is the problem?

If you pass pointers around it can be a better design but it will
be slightly slower, since global data needs nothing to be passed, it is
always there.

Before doing anything MEASURE FIRST!

jacob
Jan 31 '07 #3
jacob navia wrote:
Why do you think that this is the problem?

Did you measure the program's performance to see where the
hot spots are? What data leads you to your conclusion that
the static data is the problem?

If you pass pointers around it can be a better design but it will
be slightly slower, since global data needs nothing to be passed, it is
always there.
He did mention he was on an embedded system. This could be a space rather than
speed issue.
Jan 31 '07 #4
1. Am I right in doing this (passing pointer instead of making the data structure static) ?

That will make the executable larger. How much increase can be
tolerated?

2. Is there any alternative to this ?
In my experience people use UINT32s everywhere because they don't want
to look old fashioned. I suggest studying the values assigned to
datums in these structures. Maybe a UINT16 would work equally well.
But don't go around sticking UINT8s in the middle of a data structure.
-Samuel S

Jan 31 '07 #5
On Jan 31, 4:29 pm, Christopher Layne <cla...@com.anodizedwrote:
jacob navia wrote:
Why do you think that this is the problem?
Did you measure the program's performance to see where the
hot spots are? What data leads you to your conclusion that
the static data is the problem?
If you pass pointers around it can be a better design but it will
be slightly slower, since global data needs nothing to be passed, it is
always there.

He did mention he was on an embedded system. This could be a space rather than
speed issue.
Yes Chrisopher is rgt. The problem we have is real estate we do not
have enough RAM and performance is not an issue.

Thanks,
Ajai.

Jan 31 '07 #6
On Jan 31, 4:48 pm, "Samuel Stearley" <nya...@gmail.comwrote:
1. Am I right in doing this (passing pointer instead of making the data structure static) ?

That will make the executable larger. How much increase can be
tolerated?

I mean passing an extra parameter to a function might increase code
size(text segment). Some additional code for sending the parameter
during function prolog. that is all the penalty right ?
but it will free some space of the ZI region when it comes to big
arrays.
>
2. Is there any alternative to this ?

In my experience people use UINT32s everywhere because they don't want
to look old fashioned. I suggest studying the values assigned to
datums in these structures. Maybe a UINT16 would work equally well.
But don't go around sticking UINT8s in the middle of a data structure.

-Samuel S
I understand what you are pointing at but I am particularly looking at
some huge global arrays which eat into the ZI region in a big way.
Small structures I have seen that the original developer has done a
good job.

Thx,
Ajai.
Jan 31 '07 #7
I mean passing an extra parameter to a function might increase code
size(text segment). Some additional code for sending the parameter
during function prolog. that is all the penalty right ?
but it will free some space of the ZI region when it comes to big
arrays.
Where else would the large array of structures be stored? In the
stack frame of caller so many levels up? How large is you stack?

Jan 31 '07 #8
Ajai Jose wrote:
Hi ,
I work on an ARM processor based embedded system. Code is mainly in
C language. The project has a huge source base. We are supposed to
optimise it. Most datastructures are declared as static and which
directly go into the Zero Initialised region. We need to cut the size
of this ZI region by at least 30%.
The one way i see of doing this is by removing these static arrays
and passing a pointer to the data structure whenever required. but
since these global arrays are used through out the code. A re-write
seems inevitable!

two questions I had.
1. Am I right in doing this(passing pointer instead of making the data
structure static) ?
Yes. Or maybe No. We don't know enough about the
constraints and circumstances of your situation to be able
to say with certainty.
2. Is there any alternative to this ?
You might consider a sort of intermediate strategy: Make
the pointer(s) global and static, and initialize them to
point to dynamically-zeroed memory when the program starts.
That is, if the program as it stands now has

int BigArray[LARGE]; /* static and zeroed */

you might change it to

int *BigArray; /* only the pointer is static */
...
void initialize(void) {
BigArray = calloc(LARGE, sizeof *BigArray);
if (BigArray == NULL)
die_horribly();
}

.... and arrange to call initialize() before BigArray is needed
elsewhere in the code.

--
Eric Sosman
es*****@acm-dot-org.invalid

Jan 31 '07 #9
Ajai Jose wrote:
On Jan 31, 4:48 pm, "Samuel Stearley" <nya...@gmail.comwrote:
>>>1. Am I right in doing this (passing pointer instead of making the data structure static) ?

That will make the executable larger. How much increase can be
tolerated?

I mean passing an extra parameter to a function might increase code
size(text segment). Some additional code for sending the parameter
during function prolog. that is all the penalty right ?
but it will free some space of the ZI region when it comes to big
arrays.
Why do you want to reduce the size of only zero-initialized RAM?

I assume that code and data are in separate memory spaces. Usually,
though, the zero-initialized static data area, data area allocated to
automatic variables (normally on a stack), and the heap all share the
same physical memory, which is divided according to the program usage
(although there are cases in which some memory is battery-backed, which
other is not).

You can reduce RAM requirements by replacing local static variables with
automatic variables if the value does not need to be carried from one
invocation to another. That allows the memory to be shared among
several functions that execute at different times. There is no need to
pass pointers if there is no data involved.

--
Thad
Jan 31 '07 #10
On 31 Jan 2007 01:50:25 -0800, "Ajai Jose" <aj*******@gmail.comwrote
in comp.lang.c:
Hi ,
I work on an ARM processor based embedded system. Code is mainly in
C language. The project has a huge source base. We are supposed to
optimise it. Most datastructures are declared as static and which
directly go into the Zero Initialised region. We need to cut the size
of this ZI region by at least 30%.
The one way i see of doing this is by removing these static arrays
and passing a pointer to the data structure whenever required. but
since these global arrays are used through out the code. A re-write
seems inevitable!

two questions I had.
1. Am I right in doing this(passing pointer instead of making the data
structure static) ?
If you pass a pointer to the data structure, the structure itself
still has to exist somewhere. If the values in the structure need to
persist for some time, in between function calls, they probably need
to have static storage duration anyway.
2. Is there any alternative to this ?
Thanks in Advance,
Ajai.
The issue is not so much whether a function accesses a data structure
by a name with external linkage, but rather how long the structure
must exist.

If you have 100 structures and each of them must retain its data from
the time it is initialized for as long as the program runs, then they
pretty much need to have static storage duration.

On the other hand, if your program needs 50 structures when doing one
type of operation, and a different set of 50 structures when doing
another operation, and in both cases does not need the data anymore
once the operation is finished, you can allocate them automatically in
a function or dynamically, and not have them all taking up memory all
the time.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Jan 31 '07 #11
Ajai Jose wrote:
>
.... snip ...
>
Yes Chrisopher is rgt. The problem we have is real estate we do
not have enough RAM and performance is not an issue.
rgt? red/green/turquoise? rabid grovelling twerp? rapacious
grown teenager? redundant governmental tax? Please spell out your
insults.

--
<http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>

"A man who is right every time is not likely to do very much."
-- Francis Crick, co-discover of DNA
"There is nothing more amazing than stupidity in action."
-- Thomas Matthews
Jan 31 '07 #12
Thad Smith wrote:
Ajai Jose wrote:
>On Jan 31, 4:48 pm, "Samuel Stearley" <nya...@gmail.comwrote:
>>>>1. Am I right in doing this (passing pointer instead of making the data structure static) ?

That will make the executable larger. How much increase can be
tolerated?

I mean passing an extra parameter to a function might increase code
size(text segment). Some additional code for sending the parameter
during function prolog. that is all the penalty right ?
but it will free some space of the ZI region when it comes to big
arrays.

Why do you want to reduce the size of only zero-initialized RAM?
Because that's what they're running out of. It's an embedded system:
some of them have Funny Specifications. I /suspect/, given that it's
an ARM, that there's some zero-initialised memory that's directly
addressable from a dedicated register and hence is only 4K wide.
(If you don't have a dedicated register you need to load the
address into a spare register before addressing, which means either
loading a pointer you /can/ directly address, which, since we've
eliminated "directly addressed from a dedicated register", means
"directly addressed via the PC", which means you may have multiple
copies of the constant lying around, bad news for embedded; or you
have to assemble the constant in-line, taking at least one and
maybe more instructions, ditto.) But that's just an off-topic guess.

--
Chris "electric hedgehog" Dollin
"The path to the web becomes deeper and wider" - October Project

Jan 31 '07 #13
"Ajai Jose" <aj*******@gmail.comwrote in message
news:11*********************@k78g2000cwa.googlegro ups.com...
Hi ,
I work on an ARM processor based embedded
<SNIP>

Try comp.arch.embedded.

The people on this list are embedded system users, not embedded system
authors.

They will surely give crackpot advice that stresses superior structure at
the expense of speed, FLASH consumption, and RAM consumption. That is
appropriate for larger systems, but not for the embedded system you
described.

--
David T. Ashley (dt*@e3ft.com)
http://www.e3ft.com (Consulting Home Page)
http://www.dtashley.com (Personal Home Page)
http://gpl.e3ft.com (GPL Publications and Projects)
Jan 31 '07 #14
On Jan 31, 7:09 pm, CBFalconer <cbfalco...@yahoo.comwrote:
Ajai Jose wrote:

... snip ...
Yes Chrisopher is rgt. The problem we have is real estate we do
not have enough RAM and performance is not an issue.

rgt? red/green/turquoise? rabid grovelling twerp? rapacious
grown teenager? redundant governmental tax? Please spell out your
insults.
Really sorry for that....(its probably just me while winding up from
work, hasty update ) in any case its not an insult.
rgt =right.

Thx,
Ajai

Jan 31 '07 #15

"CBFalconer" <cb********@yahoo.comwrote in message
>>
Yes Chrisopher is rgt. The problem we have is real estate we do
not have enough RAM and performance is not an issue.

rgt? red/green/turquoise? rabid grovelling twerp? rapacious
grown teenager? redundant governmental tax? Please spell out your
insults.
Obviously his news reader is running on the embedded system, which is
chronically short of RAM. Leaving out vowels is a reasonable strategy.
Jan 31 '07 #16

"Ajai Jose" <aj*******@gmail.comwrote in message
On Jan 31, 4:48 pm, "Samuel Stearley" <nya...@gmail.comwrote:
1. Am I right in doing this (passing pointer instead of making the data
structure static) ?

That will make the executable larger. How much increase can be
tolerated?

I mean passing an extra parameter to a function might increase code
size(text segment). Some additional code for sending the parameter
during function prolog. that is all the penalty right ?
but it will free some space of the ZI region when it comes to big
arrays.
Adding extra parameters will almost always increase code size. If the
calling convention is to pass the first few parameters in registers, and the
function only takes one or two parameters, this will simply be a matter of a
few instructions. If parameters are passed on the stack, there will be
rather more overhead.
>
I understand what you are pointing at but I am particularly looking at
some huge global arrays which eat into the ZI region in a big way.
Small structures I have seen that the original developer has done a
good job.
You can only save memory if you either
Use the same space for two of these big arrays
or
Compress the arrays and expand on demand.

Option one is by far the easiest, but it is only possible if workspace is
not needed simulataneously. .
Jan 31 '07 #17
"David T. Ashley" wrote:
"Ajai Jose" <aj*******@gmail.comwrote in message
> I work on an ARM processor based embedded

<SNIP>

Try comp.arch.embedded.

The people on this list are embedded system users, not embedded
system authors.

They will surely give crackpot advice that stresses superior
structure at the expense of speed, FLASH consumption, and RAM
consumption. That is appropriate for larger systems, but not for
the embedded system you described.
This is not a 'list', and embedded programmers also use C. If they
are wise they stick as closely as possible to standard C, and
isolate system dependent things. They are welcome here, but should
not propose or discuss system dependencies.

--
<http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>

"A man who is right every time is not likely to do very much."
-- Francis Crick, co-discover of DNA
"There is nothing more amazing than stupidity in action."
-- Thomas Matthews
Jan 31 '07 #18
Really sorry for that....(its probably just me while winding up from
work, hasty update ) in any case its not an insult.
rgt =right.
Its not that hard to understand that you meant 'right' and were not
intending any insult.

Jan 31 '07 #19
Samuel Stearley wrote:
>Really sorry for that....(its probably just me while winding up from
work, hasty update ) in any case its not an insult.
rgt =right.

Its not that hard to understand that you meant 'right' and were not
intending any insult.
It's just more fun for the comp.lang.c pedants to spin their wheels on. Don't
they have anything productive to do?

Serious fear of collapse of everything structured - as if not replying in a
snarky manner to the guy's lack of vowels will result in everyone doing it
tomorrow.

Telling people how to act doesn't do a damn thing - demonstrating usually
yields better results.
Feb 1 '07 #20
Chris Dollin wrote:
Thad Smith wrote:
>>Ajai Jose wrote:
>>>On Jan 31, 4:48 pm, "Samuel Stearley" <nya...@gmail.comwrote:
>1. Am I right in doing this (passing pointer instead of making the data structure static) ?

That will make the executable larger. How much increase can be
tolerated?

I mean passing an extra parameter to a function might increase code
size(text segment). Some additional code for sending the parameter
during function prolog. that is all the penalty right ?
but it will free some space of the ZI region when it comes to big
arrays.

Why do you want to reduce the size of only zero-initialized RAM?

Because that's what they're running out of. It's an embedded system:
some of them have Funny Specifications. I /suspect/, given that it's
an ARM, that there's some zero-initialised memory that's directly
addressable from a dedicated register and hence is only 4K wide.
(If you don't have a dedicated register you need to load the
address into a spare register before addressing, which means either
loading a pointer you /can/ directly address, which, since we've
eliminated "directly addressed from a dedicated register", means
"directly addressed via the PC", which means you may have multiple
copies of the constant lying around, bad news for embedded; or you
have to assemble the constant in-line, taking at least one and
maybe more instructions, ditto.) But that's just an off-topic guess.
I have not worked with ARMs, but suspect that equating zero-initialized
memory with a specific addressing mode is either wrong or an indication
of a deficient compiler.

I have added comp.arch.embedded to the list, which probably has someone
that can address your particular system, if you specify the
configuration of processor, memory, and compiler. Followups are also
set to comp.arch.embedded, since the issues here are off-topic for
comp.lang.c.

--
Thad
Feb 1 '07 #21
I work on an ARM processor based embedded system. Code is mainly in
>C language. The project has a huge source base. We are supposed to
optimise it. Most datastructures are declared as static and which
directly go into the Zero Initialised region. We need to cut the size
of this ZI region by at least 30%.
*ONLY* that region? It's OK and useful to move the arrays from the
Zero Initialized region to the Non-Zero Initialized region?

E.g. change from
char netbuffer[2048];
to
char netbuffer[2048] = {1};
The one way i see of doing this is by removing these static arrays
and passing a pointer to the data structure whenever required. but
since these global arrays are used through out the code. A re-write
seems inevitable!
To meet what you asked for, but what I doubt was intended:

Initialize the arrays to something Non-Zero. Then in an initialization
routine, call memset() on them. This has the dubious advantages of:

- Arrays move from the Zero Initialized region (which just needs to be zeroed
out) to the Non-Zero Initialized region (which needs loading with data from
somewhere).
- The amount of RAM required doesn't get any smaller.
- If code is loaded from disk, it takes longer and the executable is bigger.
- If Non-Zero Initialized data is loaded from ROM, you need more ROM space
for the shadow image of initialized data.
- The code section gets a little bigger for the initialization code.
- The startup time gets a little longer for the initialization code.
>two questions I had.
1. Am I right in doing this(passing pointer instead of making the data
structure static) ?
You still have to allocate the array, whether you have a pointer to it
or not. If the array isn't static, what is it? Automatic? Allocated
with malloc()?
>2. Is there any alternative to this ?
One way you CAN save memory deals with the required lifetime of
these arrays. If they are all needed simultaneously, your overall
RAM requirement won't go down. If they have separate lifetimes,
you could possibly save a lot with auto (but these take up space,
too!) or malloc() allocation, keeping the array in existence only
while it is needed. But this probably involves a major rewrite of
the code.

Feb 1 '07 #22
Christopher Layne <cl****@com.anodizedwrites:
[...]
Telling people how to act doesn't do a damn thing - demonstrating usually
yields better results.
Great. Please demonstrate for us how we should act.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 1 '07 #23
Keith Thompson wrote:
>Telling people how to act doesn't do a damn thing - demonstrating usually
yields better results.

Great. Please demonstrate for us how we should act.
Which is somehow worse than telling you how to act? Do you believe that?
Feb 1 '07 #24
Christopher Layne <cl****@com.anodizedwrites:
Keith Thompson wrote:
Telling people how to act doesn't do a damn thing - demonstrating usually
yields better results.
Great. Please demonstrate for us how we should act.

Which is somehow worse than telling you how to act? Do you believe that?
Looking back up the thread:

Ajai Jose wrote "rgt" when he meant "right".

CBFalconer pointed it out, and jokingly suggested several things that
"rgt" might expand to. (I read CBFalconer's followup as good-natured
humor, not as harsh criticism, but humor doesn't always come across
well in a plain-text medium.)

Ajai Jose apologized.

Samuel Stearley pointed out that the actual meaning was clear enough.

That should have been the end of it, but you felt the need to jump in
and insult the "comp.lang.c pedants".

You complain about us "telling people how to act" while telling us how
to act. Do you not see the irony?

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 1 '07 #25
Keith Thompson wrote:
>
You complain about us "telling people how to act" while telling us how
to act. Do you not see the irony?
I can definitely see how you would take it that way. My implication was more
along the lines of "is it really that important to create a sub-thread about
every "rgt, plz" etc. issued here? It's happens like clockwork, everytime.

Feb 1 '07 #26
Christopher Layne wrote:
Samuel Stearley wrote:
>>Really sorry for that....(its probably just me while winding up
from work, hasty update ) in any case its not an insult.
rgt =right.

Its not that hard to understand that you meant 'right' and were
not intending any insult.

It's just more fun for the comp.lang.c pedants to spin their wheels
on. Don't they have anything productive to do?

Serious fear of collapse of everything structured - as if not
replying in a snarky manner to the guy's lack of vowels will result
in everyone doing it tomorrow.

Telling people how to act doesn't do a damn thing - demonstrating
usually yields better results.
Did I really have to put a smiley after:
rgt? red/green/turquoise? rabid grovelling twerp? rapacious
grown teenager? redundant governmental tax? Please spell out
your insults.
I spent some time thinking up translations :-)

--
<http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>

"A man who is right every time is not likely to do very much."
-- Francis Crick, co-discover of DNA
"There is nothing more amazing than stupidity in action."
-- Thomas Matthews
Feb 1 '07 #27
On Feb 1, 10:38 am, Keith Thompson <k...@mib.orgwrote:
to act. Do you not see the irony?

Thanks to all the respondents,
I am trying out what Eric Suggested. that is calloc when required and
just keep the pointer global.
Regards,
Ajai Jose.

Feb 1 '07 #28
Keith Thompson <ks***@mib.orgwrites:
Christopher Layne <cl****@com.anodizedwrites:
>Keith Thompson wrote:
>Telling people how to act doesn't do a damn thing - demonstrating usually
yields better results.

Great. Please demonstrate for us how we should act.

Which is somehow worse than telling you how to act? Do you believe that?

Looking back up the thread:

Ajai Jose wrote "rgt" when he meant "right".

CBFalconer pointed it out, and jokingly suggested several things that
Not "jokingly". Facetiously. Big difference.
Feb 2 '07 #29
Christopher Layne <cl****@com.anodizedwrites:
Samuel Stearley wrote:
>>Really sorry for that....(its probably just me while winding up from
work, hasty update ) in any case its not an insult.
rgt =right.

Its not that hard to understand that you meant 'right' and were not
intending any insult.

It's just more fun for the comp.lang.c pedants to spin their wheels on. Don't
they have anything productive to do?

Serious fear of collapse of everything structured - as if not replying in a
snarky manner to the guy's lack of vowels will result in everyone doing it
tomorrow.

Telling people how to act doesn't do a damn thing - demonstrating usually
yields better results.
I have pointed this out numerous times. Teach by example.

But CBF in particular likes to hear the sound of his own voice. I
wouldn't mind but most code excerpts he has posted look and taste like
some beginners home brew anyway.

Feb 2 '07 #30
Christopher Layne <cl****@com.anodizedwrites:
Keith Thompson wrote:
>>
You complain about us "telling people how to act" while telling us how
to act. Do you not see the irony?

I can definitely see how you would take it that way. My implication was more
along the lines of "is it really that important to create a sub-thread about
every "rgt, plz" etc. issued here? It's happens like clockwork, everytime.
Yup. Little man's disease is a common affliction. Can't wait to correct
people at every opportunity. A shame as there are some seriously good
guys there whose output is clouded by the usual people and their
attempts to out do each other.
Feb 2 '07 #31
On Feb 2, 10:17 am, Richard <rgr...@gmail.comwrote:
Keith Thompson <k...@mib.orgwrites:
Christopher Layne <cla...@com.anodizedwrites:
Keith Thompson wrote:
Telling people how to act doesn't do a damn thing - demonstrating usually
yields better results.
Great. Please demonstrate for us how we should act.
Which is somehow worse than telling you how to act? Do you believe that?
Looking back up the thread:
Ajai Jose wrote "rgt" when he meant "right".
CBFalconer pointed it out, and jokingly suggested several things that

Not "jokingly". Facetiously. Big difference.
yeah right!
CBFalconer;s signature speaks a lot about him

<....>
"There is nothing more amazing than stupidity in action."
-- Thomas Matthews
<...>

Making an issue out of nothing when the original poster has not
offended anybody at all.
>rgt? red/green/turquoise? rabid grovelling twerp? rapacious
grown teenager? redundant governmental tax? Please spell out
your insults.
I spent some time thinking up translations :-)
Pray keep ur translations to your good self will you ? spare us the
macabre wordings in this Technical Mailing list.

I see a barrage of pedants ranting but when will this useless pedantry
ever stop. (someone in the next cube just said "till CBF kicks the
bucket " )
Aslam

Feb 2 '07 #32
as**************@hotmail.com wrote:
>
.... snip ...
>
Pray keep ur translations to your good self will you ? spare us
the macabre wordings in this Technical Mailing list.
I rarely translate anything to Ur. In fact, I don't even know that
language. I believe it has not been seriously used for about 3000
years. Back then it was quite important in Mesopotamia. In fact,
I seriously doubt that suitable alphabets exist for Urian in the
present coding standards.

--
<http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>

"A man who is right every time is not likely to do very much."
-- Francis Crick, co-discover of DNA
"There is nothing more amazing than stupidity in action."
-- Thomas Matthews
Feb 2 '07 #33
On Fri, 02 Feb 2007 06:19:08 +0100, in comp.lang.c , Richard
<rg****@gmail.comwrote:
>Christopher Layne <cl****@com.anodizedwrites:
>Keith Thompson wrote:
>>>
You complain about us "telling people how to act" while telling us how
to act. Do you not see the irony?

I can definitely see how you would take it that way. My implication was more
along the lines of "is it really that important to create a sub-thread about
every "rgt, plz" etc. issued here? It's happens like clockwork, everytime.

Yup. Little man's disease is a common affliction. Can't wait to correct
people at every opportunity. A shame as there are some seriously good
guys there whose output is clouded by the usual people and their
attempts to out do each other.
Richard, you're rapidly approaching a lot of people's killfiles. I
suggest you consider that you're a newcomer here, showing far from
great expertise in C, and you're treating the regulars with some
considerable contempt. Do you think thats likely to impress anyone?
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Feb 2 '07 #34
On Feb 2, 6:31 pm, CBFalconer <cbfalco...@yahoo.comwrote:
aslam_sheikh1...@hotmail.com wrote:

... snip ...
Pray keep ur translations to your good self will you ? spare us
the macabre wordings in this Technical Mailing list.
>>>>Back then it was quite important in Mesopotamia.
Ha ha ha/// u really like getting nowhere don;t u ?
Feb 3 '07 #35
On Feb 2, 5:31 am, CBFalconer <cbfalco...@yahoo.comwrote:
aslam_sheikh1...@hotmail.com wrote:

... snip ...
Pray keep ur translations to your good self will you ? spare us
the macabre wordings in this Technical Mailing list.

I rarely translate anything to Ur. In fact, I don't even know that
language. I believe it has not been seriously used for about 3000
years. Back then it was quite important in Mesopotamia. In fact,
I seriously doubt that suitable alphabets exist for Urian in the
present coding standards.
Unicode & ISO 10646: U+12000 to U+1236E and U+12400 to U+12473. Needs
wchar_t to be at least 17 bits wide if they're to be handled as C wide
characters.

Feb 3 '07 #36
as**************@hotmail.com wrote:
On Feb 2, 6:31 pm, CBFalconer <cbfalco...@yahoo.comwrote:
aslam_sheikh1...@hotmail.com wrote:

... snip ...
>>Pray keep ur translations to your good self will you ? spare us
the macabre wordings in this Technical Mailing list.

Back then it was quite important in Mesopotamia.

Ha ha ha/// u really like getting nowhere don;t u ?
You appear to be fairly slow. The point is to NOT use silly
abbreviations in Usenet.

--
<http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>

"A man who is right every time is not likely to do very much."
-- Francis Crick, co-discover of DNA
"There is nothing more amazing than stupidity in action."
-- Thomas Matthews
Feb 3 '07 #37
"J. J. Farrell" <jj*@bcs.org.ukwrote:
On Feb 2, 5:31 am, CBFalconer <cbfalco...@yahoo.comwrote:
aslam_sheikh1...@hotmail.com wrote:
Pray keep ur translations to your good self will you ? spare us
the macabre wordings in this Technical Mailing list.
I rarely translate anything to Ur. In fact, I don't even know that
language. I believe it has not been seriously used for about 3000
years. Back then it was quite important in Mesopotamia. In fact,
I seriously doubt that suitable alphabets exist for Urian in the
present coding standards.

Unicode & ISO 10646: U+12000 to U+1236E and U+12400 to U+12473. Needs
wchar_t to be at least 17 bits wide if they're to be handled as C wide
characters.
Hey, that's new! Interesting.

Richard
Feb 5 '07 #38

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Margaret MacDonald | last post by:
Probably it's something dumb that I'm doing/not doing, but echo doesn't seem to want to echo a literal zero when the value of some var is zero. E.g.: $foo = 0 ; echo 'foo is ' . $foo ; ...
181
by: Tom Anderson | last post by:
Comrades, During our current discussion of the fate of functional constructs in python, someone brought up Guido's bull on the matter: http://www.artima.com/weblogs/viewpost.jsp?thread=98196 ...
1
by: John Smith | last post by:
I have a two dimentional char array. Before filling it using strtok(), I reset its elements to '\0' using two nested for loops. The code works as I hope it would but I wonder whether I really need...
3
by: Ali Sahin | last post by:
Hi there, I'd like to transform a XML-File to PDF. The XML-File ist build like followed: <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <?xml-stylesheet type="text/xsl"...
14
by: rocketman768 | last post by:
Man, that title should be in a poem, but anyways...So, I have this program, and it has an array of 40 million elements. The problem is that I have a for loop that continually is doing stuff to this...
3
by: mark | last post by:
I have a table of UK companies whose records I want to filter using a map of postcode regions. For the benfit of people outside the UK, our postcodes are a pain to work with because they are not...
1
by: replyrpatil | last post by:
What I am trying to do: I need to print a compact access report (font 6 size) created using RTF2 program developed by Stephen Lebans to generate a TIF image of custom size (5.5 in x 2.0 in) ...
10
by: werasm | last post by:
Hi all, I recently just stumbled upon this code. According to what I see in the standard it should be fine, but I've always done the initialization explicitly myself: //.h //... struct X {
2
by: JenavaS | last post by:
Hi all, I have a query: SELECT Data.Region, Data.Dept, Data.Year, Data.Month, Data.Week, Data.Elapsed, Data. AS WpComp, Data. AS CpComp, IIf(=53 And ="JAN,WK4",/2,) AS AdjLyComp,...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.