473,407 Members | 2,359 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,407 software developers and data experts.

List of differences in headers between C90 and C99?

Hello,

does anyone know of any list which presents the headers that differ
between C90 and c99, and where they differ? Searching on the web, I
found many web sites about the differences between C90 and C99, but I
did not find anything specific about the headers (and, thus, library
functions).

Why do I ask this? Here, there was a decision to use the following
headers for a project which should be portable across Posix systems,
only:

fctl.h mqueue.h
pthread.h semaphore.h
shed.h signal.h
stropts.h time.h
unistd.h dirent.h
limits.h netdb.h
utime.h assert.h
ctype.h float.h
iso646.h locale.h
math.h setjmp.h
stdarg.h stddef.h
stdint.h stdio.h
stdlib.h string.h
time.h wchar.h
wctype.h

and, for completeness: Also the following Posix headers are allowed:
arpa/inet.h sys/mman.h
sys/socket.h sys/stat.h
sys/time.h

I want to generate a list of functions and other features to avoid in
order to be able to compile the code on C90 compilers. Thus, a list of
the differences between the different version would be very helpful.

Thanks in advance,
Spiro.

--
Spiro R. Trikaliotis http://opencbm.sf.net/
http://www.trikaliotis.net/ http://www.viceteam.org/
Mar 29 '07 #1
6 2799
Spiro Trikaliotis wrote:
Hello,

does anyone know of any list which presents the headers that differ
between C90 and c99, and where they differ? Searching on the web, I
found many web sites about the differences between C90 and C99, but I
did not find anything specific about the headers (and, thus, library
functions).

Why do I ask this? Here, there was a decision to use the following
headers for a project which should be portable across Posix systems,
only:
<OT>not answering your question, but POSIX required some C99 features,
so a conforming system will have a compiler that supports (or at least
doesn't barf on) them. Check this out.</OT>

--
Ian Collins.
Mar 29 '07 #2
On Mar 29, 11:49 am, Spiro Trikaliotis <news-200...@trikaliotis.net>
wrote:
Hello,

does anyone know of any list which presents the headers that differ
between C90 and c99, and where they differ? Searching on the web, I
found many web sites about the differences between C90 and C99, but I
did not find anything specific about the headers (and, thus, library
functions).

Why do I ask this? Here, there was a decision to use the following
headers for a project which should be portable across Posix systems,
only:

fctl.h mqueue.h
pthread.h semaphore.h
shed.h signal.h
stropts.h time.h
unistd.h dirent.h
limits.h netdb.h
utime.h assert.h
ctype.h float.h
iso646.h locale.h
math.h setjmp.h
stdarg.h stddef.h
stdint.h stdio.h
stdlib.h string.h
time.h wchar.h
wctype.h

and, for completeness: Also the following Posix headers are allowed:
arpa/inet.h sys/mman.h
sys/socket.h sys/stat.h
sys/time.h

I want to generate a list of functions and other features to avoid in
order to be able to compile the code on C90 compilers. Thus, a list of
the differences between the different version would be very helpful.
There are new headers in C99, so that is one major, fundamental
difference:
/*C90*/
<assert.h<locale.h<stddef.h>
<ctype.h<math.h<stdio.h>
<errno.h<setjmp.h<stdlib.h>
<float.h<signal.h<string.h>
<limits.h<stdarg.h<time.h>

/*C99*/
<assert.h<inttypes.h<signal.h<stdlib.h>
<complex.h<iso646.h<stdarg.h<string.h>
<ctype.h<limits.h<stdbool.h<tgmath.h>
<errno.h<locale.h<stddef.h<time.h>
<fenv.h<math.h<stdint.h<wchar.h>
<float.h<setjmp.h<stdio.h<wctype.h>

I think there was an addendum to C90 that added the wide char headers
at some point.

Mar 29 '07 #3
Some header differences between C90 and C99 are discussed here under
section "Library":
http://home.tiscalinet.ch/t_wolf/tw/c/c9x_changes.html
Mar 29 '07 #4
On Thu, 29 Mar 2007 20:49:52 +0200, in comp.lang.c , Spiro Trikaliotis
<ne*********@trikaliotis.netwrote:
>Hello,

does anyone know of any list which presents the headers that differ
between C90 and c99, and where they differ?
The clc wiki has links to several pages which tell you this in more
than adequate detail.
http://clc-wiki.net/wiki/The_C_Stand...ompatibilities
>did not find anything specific about the headers (and, thus, library
functions).
Are you interested in the headers or the library functions? Either
way, the above will get you there.
>Why do I ask this? Here, there was a decision to use the following
headers for a project which should be portable across Posix systems,
only:
A lot of these are not C headers.
>mqueue.h
pthread.h semaphore.h
like eg the above...
--
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
Mar 29 '07 #5
"Spiro Trikaliotis" <ne*********@trikaliotis.netwrote in message
news:sl************************@news.trikaliotis.n et...
does anyone know of any list which presents the headers that differ
between C90 and c99, and where they differ? Searching on the web, I
found many web sites about the differences between C90 and C99, but I
did not find anything specific about the headers (and, thus, library
functions).
See our online library reference. It identifies which headers are
added with C99, and which features in older headers are added with
C99.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
Mar 29 '07 #6
Hello,

I am answering to this posting in order to thank everyone who answered.
It was very helpful, thank you for your time.
Ian Collins: Yes, we already know that the newest Posix requires C99.
Anyway, we want to make sure that our programs work even on less than
that.

user923005: Thank you for your list.

Mark McIntyre: Thank you for pointing out the Wiki. I totally forgot
about that. - We are interested in the headers as well as the functions
in them. It seems I was not specific enough about that.
P.J. Plauger wrote:
"Spiro Trikaliotis" <ne*********@trikaliotis.netwrote in message
news:sl************************@news.trikaliotis.n et...
See our online library reference. It identifies which headers are
added with C99, and which features in older headers are added with
C99.
This online library reference was very helpful. I was able to answer all
my questions. The only disadvantage is that it thought I was using some
tool to download everything, so I had to make a break.

Regards,
Spiro.

--
Spiro R. Trikaliotis http://opencbm.sf.net/
http://www.trikaliotis.net/ http://www.viceteam.org/
Mar 30 '07 #7

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

Similar topics

6
by: Fazer | last post by:
Hello, I was wondering which would be the best way to compare a list? I was thinking of just using a for loop and testing the condition. What do you guys think? The best/fastest way of...
15
by: sandwich_eater | last post by:
I want to know how to set an std::list iterator variable to make it null or nil. If this is not possible what is the value of an uninitialised std::list iterator and is it ok to assign this value...
17
by: Aladdin | last post by:
Hi, all! I'm looking for a list of features that are supported in C but not supported in C++. I also need the complete list of language alterations from K&R C to C89 then to C99. Would anyone...
43
by: michael.f.ellis | last post by:
The following script puzzles me. It creates two nested lists that compare identically. After identical element assignments, the lists are different. In one case, a single element is replaced. In...
7
by: 3KWA | last post by:
Hi all, I tried to send a small mailing list using python today (2036 emails). For that purpose I looked in the doc for some code examples (I had never done it before). And I ended up writing...
9
by: chikkubhai | last post by:
Why is the result different for the following set of two code snippets Code without using this pointer #include <string> #include <iostream> using namespace std; struct X { private:
4
by: chris | last post by:
I need to maintain a list of subscribers to an email list for a "newsletter" that will be sent via a web form probably once a month. I anticipate low numbers--tens to maybe one hundred subscribers...
3
by: Riccardo Murri | last post by:
Hello, I have some code that stops when trying to find a graph in a list of similar graphs:: (Pydb) list 110 try: 111 canonical = self.base 112 except ValueError: 113 ...
18
by: Grant Edwards | last post by:
Could whoever is responsible for the gateway that is grabbing my postings off of Usenet and e-mailing them out please fix the headers in the mail messages so that I don't get the bounce messages?...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 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 a new...

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.