print output

A

aarklon

Hi all,

Is it possible to write a C program to print o/p without using library
functions( in standard C )..????
 
W

Walter Roberson

Is it possible to write a C program to print o/p without using library
functions( in standard C )..????

On -some- implementations.

There are some implementations that have memory-mapped I/O --
writing a byte to a particular address causes the byte to be sent
to I/O (e.g., to a serial port or to a printer or whatever.)

Standard C does not -promise- that there is any way to write
data to a particular absolute address, but Standard C says that
it is implementation defined as to what the meaning is of converting
an integral value into a pointer. Hence an implementation is
allowed to define the conversion of magic absolute I/O addresses
into valid pointers to write to and thus to potentially trigger I/O.

Any program that used this technique would not be portable
to any other system that did not use memory-mapped I/O, or which
used different addresses for memory-mapped I/O, or to any system
that had memory-protection that prevented users from writing to
the magic addresses -- and of course it would not be portable to
any system that basically defines the result of converting an
integral value to a pointer as creating a useless junk pointer.
But any program that used this technique successfully for
a specific system would not be violating any constraint in C.

The ability to create arbitrary pointers is fairly common in C
implementations -- the C standard doesn't promise it will work
though.
 
W

Walter Roberson

(e-mail address removed) wrote:
Why do you want to?

When I gave my reply earlier, I assumed that it yet another
"job interview" type question.

Now, 25 years ago, I had real reasons for wanting to know similar
information, as I was working on a multiuser 128 Mb system with no
shared libraries, and being able to omit the C library from the
(static) link meant a (relatively) major reduction in executable size.
 
D

Default User

Walter said:
library >> functions( in standard C )..????


When I gave my reply earlier, I assumed that it yet another
"job interview" type question.

Now, 25 years ago, I had real reasons for wanting to know similar
information, as I was working on a multiuser 128 Mb system with no
shared libraries, and being able to omit the C library from the
(static) link meant a (relatively) major reduction in executable size.

That's the reason for the "why?". If it's curiosity versus a real need,
then the answers may vary.




Brian
 
A

aarklon

That's the reason for the "why?". If it's curiosity versus a real need,then the answers may vary.

as walter roberson said,

When I gave my reply earlier, I assumed that it yet another
"job interview" type question.

this exactly is the reason
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,578
Members
45,052
Latest member
LucyCarper

Latest Threads

Top