943,454 Members | Top Members by Rank

Ad:
  • C Discussion Thread
  • Unsolved
  • Views: 2937
  • C RSS
Dec 10th, 2004
0

learning C, working around code for different compilers

Expand Post »
i've been reading a lot of the posts here to help me learn C. the problem is, much of the code is written for other compilers (i use gcc). i didn't know there was compiler-specific code until i tried to compile code from questions asked here.

this seems so backwards, coming from a background in interpreted languages. please shed some light on the issue.
Similar Threads
Reputation Points: 32
Solved Threads: 2
Light Poster
serfurj is offline Offline
35 posts
since Dec 2004
Dec 10th, 2004
0

Re: learning C, working around code for different compilers

There's a language standard that compilers are pretty much required to support if they want any market share, but the language definition also allows for non-standard extensions. Every compiler out there will take advantage of this allowance, so code that uses extensions will not be portable across compilers. The same goes with system APIs and third party libraries. However, if you use the standard language, your code should compile everywhere and run as expected.
Administrator
Reputation Points: 6442
Solved Threads: 1393
Bad Cop
Narue is offline Offline
11,807 posts
since Sep 2004
Dec 10th, 2004
0

Re: learning C, working around code for different compilers

i wonder why anyone would want to write non-standard code.
Reputation Points: 32
Solved Threads: 2
Light Poster
serfurj is offline Offline
35 posts
since Dec 2004
Dec 11th, 2004
0

Re: learning C, working around code for different compilers

Depending whom you work for, there might be a favorite compiler in the shop. Many schools teach on old and outdated compilers, often teachers are most reluctant to change and rewrite their material, the list goes on ...

I have found the Dev C++ IDE reasonably generic in the Windows and Linux world, conforming to most C++ standards with their GCC/G++ combination of compilers.
Moderator
Reputation Points: 1333
Solved Threads: 1403
DaniWeb's Hypocrite
vegaseat is offline Offline
5,792 posts
since Oct 2004
Dec 11th, 2004
0

Re: learning C, working around code for different compilers

Not just that, but unless you want to limit yourself to a very small library of functions indeed you're going to have to use compiler specific libraries at some point.
The trick is to use those libraries in such a way that the largest possible part of your code does not directly depend on them.

Example are GUI libraries. Those are pretty much all at least platform specific and often compiler specific as well.
Network libraries are the same, IO handling often as well (if you want more control than scanf and printf can handle).

gcc is no more generic than any other compiler, in fact it has a lot more platform specific libraries and some others and the documentation is often lacking.
In fact, Borland has always had the most standard compliant of all compilers on i386 platforms and a reasonably well marked custom library.
They also provide excellent documentation.

As to teachers being reluctant to change their material, often they aren't even aware they're using non-standard extensions, having learned C (or whatever) from the same book (Learning C in 21 days using Turbo C 1.5) they use to teach their students and never reading anything else.
Team Colleague
Reputation Points: 1658
Solved Threads: 331
duckman
jwenting is offline Offline
7,719 posts
since Nov 2004
Dec 11th, 2004
0

Re: learning C, working around code for different compilers

thanks for the replies. i think i'm going to buy "C Programming Language : ANSI C Version, by Brian W. Kernighan, Dennis Ritchie".
Reputation Points: 32
Solved Threads: 2
Light Poster
serfurj is offline Offline
35 posts
since Dec 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C Forum Timeline: help me (scheduling)
Next Thread in C Forum Timeline: my 8-queen program does nothing-but I have no sintax errors





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC