We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I started a new project with an LPC2106 cpu. There are two files in it: blinky.c and time.c In Blinky.c I declare: extern void init_time(void); And call it in the main function. Function is written in time.c When I link I get a undefined symbol report on init_time If I look at blinky.lst I can see a call to a external symbol called: "Z9init_timev" And if I look at time.lst I can see a global symbol "init_time" Anyone know what I am doing wrong???
"I'm not sure where that convention was used" Remember that GNU is of UNIX origin; to understand these things, you have to think like a UNIX hacker (in the benign sense of the word). To a UNIX hacker it is perfectly fine, reasonable and commonplace to find that a lowercase 'c' has a totally and completely different meaning to an uppercase 'C'. UNIX hackers find this perfectly natural; they will find it just as hard to understand how a Windows user could even consider the possibility that "blinky.c" would be in any way equivalent to "blinky.C" Since a lowercase ".c" suffix was well established as indicating a 'C' source file, it is not surprising that UNIX hackers should think of using ".C" for C++ source - since C++ is effectively a "bigger" 'C', it would make sense (to them) to to a "big" (uppercase) ".C" to distinguish it! It's a cultural thing!