Viitor_cc65/usr/share/doc/cc65/webdoc/cc65-4.html
kueller 223cc6685e Neue Version V963
git-svn-id: svn://svn.compuextreme.de/Viitor/V963/Viitor_cc65@5933 504e572c-2e33-0410-9681-be2bf7408885
2011-01-03 10:48:06 +00:00

77 lines
2.2 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.20">
<TITLE>cc65 Users Guide: Differences to the ISO standard</TITLE>
<LINK HREF="cc65-5.html" REL=next>
<LINK HREF="cc65-3.html" REL=previous>
<LINK HREF="cc65.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="cc65-5.html">Next</A>
<A HREF="cc65-3.html">Previous</A>
<A HREF="cc65.html#toc4">Contents</A>
<HR>
<H2><A NAME="s4">4.</A> <A HREF="cc65.html#toc4">Differences to the ISO standard</A></H2>
<P>Here is a list of differences between the language, the compiler accepts,
and the one defined by the ISO standard:</P>
<P>
<UL>
<LI> The compiler allows unnamed parameters in parameter lists. The
compiler will not issue warnings about unused parameters that don't
have a name. This feature can be disabled with the <CODE>
<A HREF="cc65-2.html#option--standard">--standard</A></CODE> command line option.
</LI>
<LI> The compiler has some additional keywords:
<P>
<UL>
<LI><CODE>asm</CODE></LI>
<LI><CODE>__asm__</CODE></LI>
<LI><CODE>fastcall</CODE></LI>
<LI><CODE>__fastcall__</CODE></LI>
<LI><CODE>__AX__</CODE></LI>
<LI><CODE>__EAX__</CODE></LI>
<LI><CODE>__func__</CODE></LI>
<LI><CODE>__attribute__</CODE></LI>
</UL>
</P>
<P>The keywords without the underlines can be disabled with the
<CODE>
<A HREF="cc65-2.html#option--standard">--standard</A></CODE> command line
option.</P>
</LI>
<LI> The datatypes "float" and "double" are not available.
</LI>
<LI> The compiler does not support bit fields.
</LI>
<LI> C Functions may not return structs (or unions), and structs may not
be passed as parameters by value. However, struct assignment *is*
possible.
</LI>
<LI> Part of the C library is available only with fastcall calling
conventions (see below). It means that you must not mix pointers to
those functions with pointers to user-written, not-fastcall functions.
</LI>
</UL>
</P>
<P>There may be some more minor differences I'm currently not aware of. The
biggest problem is the missing float data type. With this limitation in
mind, you should be able to write fairly portable code.</P>
<HR>
<A HREF="cc65-5.html">Next</A>
<A HREF="cc65-3.html">Previous</A>
<A HREF="cc65.html#toc4">Contents</A>
</BODY>
</HTML>