Slashdot Mirror


GCC C/C++ Compiler Ported to WinCE

An anonymous reader writes "This interview at WindowsForDevices is with a young Russian programmer who earlier this year launched a project to port the open source GCC C/C++ compiler and supporting tools (library, manager, linker, etc.) to Windows CE and the Pocket PC platform. The result, according to Vitaliy Pronkin, the project's founder, is that it is now possible to develop applications directly on a Pocket PC PDA using the standard C/C++ programming language. Specifically, source code written in eVC (MFC isn't supported yet) can be built and then executed directly on the Pocket PC (or other Windows CE device) without conversion or additional runtimes. Find it, fix it, compile it, run it -- right on your Pocket PC!"

41 comments

  1. Open source for CE by chochos · · Score: 2, Interesting

    Hopefully this will open the door for porting and developing many open source applications on CE. It would be interesting to see an open IDE, maybe an eclipse plug-in or something.

    1. Re:Open source for CE by Anonymous Coward · · Score: 1

      That'd be a worthwhile effort, especially since Microsoft eVC and eVB tools are free and available for download.

  2. [Q] Cygwin on WinCE? by 4of12 · · Score: 0

    Does Cygwin run on WinCE?

    --
    "Provided by the management for your protection."
    1. Re:[Q] Cygwin on WinCE? by Anonymous Coward · · Score: 0

      A first-step question would be: Does MINGW run on WinCE

    2. Re:[Q] Cygwin on WinCE? by Captain+Goatse · · Score: 0

      Does Cygwin run in Goatse(warning, non-nude Goatse ripoff)'s ass?

      No I didn't think so, stupid question, NEXT!

    3. Re:[Q] Cygwin on WinCE? by Anonymous Coward · · Score: 0

      In the time it took you to write that you could have gone to the Cygwin site and learned that it does not.

  3. Lemee see here... by Creepy+Crawler · · Score: 1

    Ok, a Diebold machine runs WinCE. We now have GCC for WinCE.

    election council: What's votehack.exe? Issit some new program thingie?

    I wonder who's winceing about that one, eh?

    "This whole thing is wildly inaccurate. Rounding errors, ballot stuffers, dynamic IPs, firewalls. If you're using these numbers to do anything important, you're insane."

    --
    1. Re:Lemee see here... by Anonymous Coward · · Score: 0

      Diebold machines use Windows XP Embedded. I should know, I work on 20 machines a day.

  4. parsing that by nocomment · · Score: 1

    Anyone else parse that as something to WinCE at?

    --
    /* oops I accidentally made a comment, sorry */
    /* http://allyourbasearebelongto.us */
  5. Ick. by Piquan · · Score: 2, Insightful
    I tried writing C on my Palm (which has had a natively hosted compiler for years). It was not fun at all. Same goes for the more lightweight languages, Scheme and Forth, even though they were better.

    I think I'll stick with a dev platform.

    1. Re:Ick. by RevAaron · · Score: 1

      I'm not one for C at all, so perhaps I'm not the best to answer this, but anyway-

      Yes, it'd suck ass to write just about any code on a Palm, especially an older one, 160x160 screen and Graffiti. But, there are WinCE devices out there with very good keyboards- I know, because I've used them for development myself, although I've done the coding in Squeak Smalltalk and Perl. Hell, during the last 12 months, I've probably written at least 60% of all the code I've written (and tested) all on a PDA, including a HP Jornada and Sharp Zaurus C760.

      C and languages with similar syntax is pretty nasty. I used to write a fair amount of Lisp code on my Newton, only using real handwriting recognition. With Lisp/Scheme it wasn't so bad, because it was just parens and words. C-ish languages were a lot worst, because of the excessive syntax.

      Anywho, if your WinCE device has a good keyboard coding isn't that bad. Or other PDA- an AlphaSmart Dana might not be so bad compared to other Palm devices- at least it has a good keyboard. The C7x0 Zaurus keyboard isn't really good enough to do much coding on, but using an external KB improves it a bit.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    2. Re:Ick. by great+throwdini · · Score: 2, Insightful
      Yes, it'd suck ass to write just about any code on a Palm, especially an older one, 160x160 screen and Graffiti. But, there are WinCE devices out there with very good keyboards.

      Why anyone would contemplate writing any large amount of code directly on any of the above-named devices is beyond me, integrated keypad or no. Writing a little Forth now and then on a Palm device (with stylus even!) isn't too bad, but again, we're talking small pieces of program logic.

      OTOH, one can always write the programs on a less-mobile device like a desktop and sync the files over to the portable, or, in the case of the "older Palms" specifically, from day one (or at least the Palm III line) there have been folding travel keyboards available for use.

    3. Re:Ick. by Permission+Denied · · Score: 1
      Hell, during the last 12 months, I've probably written at least 60% of all the code I've written (and tested) all on a PDA

      Excuse the term, but that's fucking crazy. You know that you can telnet into a zaurus? And you know there's a very good VNC server package so you can test GUI stuff with a real mouse?

      I've written some code for the Zaurus (custom database-type app). I ended up actually writing and testing a good portion of the code on the device itself, but I would have gotten nowhere flat without telnet (+gcc +vi) and VNC. In fact, this was one of the two big reasons we went with the Zaurus for this app instead of Pocket PC, since that's not really possible with Pocket PC and it's a PITA to write code on the PC and see it break on the PDA due to some poorly documented API. The other big reason was QT Embedded instead of Platform SDK.

    4. Re:Ick. by RevAaron · · Score: 1

      Some WinCE devices and Linux PDA setups make writing coding on them just about as convenient as doing it on a desktop. There are- and have been for a while- WinCE devices with good keyboards, touch-typable ones that don't require taking along something external. Writing code on something like that is just as easy as on the desktop. Since I'm not using a language like C or Java, with relatively long compilation times, the speed of the device I'm using isn't a big issue, as long as it's something around a 206 MHz StrongARM or better.

      On devices with crappier or no keyboards, and external can do the trick. If I'm writing more than a couple lines of code on the Zaurus C760, I use an external keyboard. The keyboard itself is a bit annoying (no number line, you have to press Num+Q for instance for '1'), but the keys are full sized. The Zaurus is less convenient to write code on than my nice WinCE device, but not that bad.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    5. Re:Ick. by Anonymous Coward · · Score: 0

      Well, considering that GCC is short for GNU Compiler Collection, and includes languages such as Java and Ada95 and Fortran in addition to C and C++, it should be a snap to get those other supported languages up and running now that the backend is there. There are also some less integrated GCC front-ends such as GNU Pascal and the interesting high-performance very high level language Mercury, but those are often not kept up to date with the latest GCC developments and may require a specific older GCC backend version. My point is, GCC should provide quite a choice of languages if C doesn't float your boat.

    6. Re:Ick. by damiam · · Score: 1
      In fact, this was one of the two big reasons we went with the Zaurus for this app instead of Pocket PC, since that's not really possible with Pocket PC

      What do you mean? I'm ssh'd into my iPaq right now.

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
    7. Re:Ick. by Permission+Denied · · Score: 1
      What do you mean? I'm ssh'd into my iPaq right now.

      Right, but your iPaq isn't running the OS it came with :)

      No big deal for a personal device, but I needed to get my app out "into the field" PDQ - no time to tweak kernel cross-compile options, boot off CF or figure out what's changed with hardware revisions.

  6. But.... by /dev/trash · · Score: 1

    What about the PalmOS port?

    1. Re:But.... by RevAaron · · Score: 2, Informative

      Umm, I doubt a POS port of GCC will be possible until at least POS 6. Unless someone wrote a new C compiler and just happened to also call it "GCC," there's about zilch chance of GCC ending up on POS. The OS is primitive, whereas WinCE and Linux for the PDA (both with gcc ports) are "real" OSes in most senses of the word. Make jokes about WinCE as you may, but it has real multitasking, decent memory management, etc. Can you imagine doing a port og GCC that manages to confine itself to the 64KB (in POS 5.2; older POS confined to 32KB!) chunk of continuous RAM that POS limits its apps to? Or how slow GCC would be if someone write a memory management compat library for POS (why hasn't anyone?) that emulated grabbing larger chunks of RAM by getting them all in 64KB chunks and shuffling it all? Molasses, man, molasses.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    2. Re:But.... by Josh+Booth · · Score: 2, Funny

      Is your calling Palm OS "POS" as in Piece Of Sh*t intentional or just because you needed an acronym?

      +1 Funny if the former, +1 Informative if the latter.

    3. Re:But.... by Anonymous Coward · · Score: 0

      Try not to ruin the joke, tard. That's not how you get the chicks.

    4. Re:But.... by RevAaron · · Score: 1

      Well, both I suppose. Mostly because it's shorter than writing PalmOS, but to an extent, PalmOS is a POS. I'm aware of the coincidence, and use it with that knowledge. However, the purpose of my post was not to call PalmOS names with nothing to back it up.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    5. Re:But.... by Anonymous Coward · · Score: 0

      Real?? Read an OS book an OS is an OS.
      I am sure if someone wanted to write a conpiler that ran on a tiny screen with a tenny key board they could. there where C compilers written back in the day when the 68K CPU was a rocket not an embedded controller. BTW the Real O/S that Palm is built on supports threads. But they wanted to charge more for more threads. Palm on bought what they needed.
      As for Bank switching memory very old news.

      But is you want to look try PocketC ( a POS Interperter)

      Why do Big Iron Programmers expect little OS to be just like them

      ???

    6. Re:But.... by Trillan · · Score: 2, Informative

      Woah, you're really off here.

      Palm OS hasn't been limited to 64k blocks for several years now EXCEPT for resources. Palm OS 3.5 and later all support large allocations.

  7. Welcome to GNU GVideo GProfessor! by Anonymous Coward · · Score: 0


    "Don't fumble through boring man pages. Try my product!" - Richard M. Stallman, GNU Founder and CEO

    GNU GVideo GProfessor is the leader in computer learning. We have taught over 5 million people, and we can teach you GNU/Linux, GNU/Emacs, GNU/gcc, and more! GNU GVideo GProfessor was founded in 1983 to provide consumers with training on software for their personal computers. Since that time, millions have successfully used and learned from GNU GVideo GProfessor's fool-proof "What-You-See-Is-What-You-Do" teaching method. The first lesson, GNU/Emacs 1.0, was available only on video tape. Over the years, GNU GVideo GProfessor has produced hundreds of titles on video, CD-ROM, and online. GNU GVideo GProfessor is the fastest, easiest way to learn computers. We guarantee it!

    It's FAST! You'll be up and running in an hour! Don't waste time sifting through man pages, commuting to classes or seminars. Just pop in the CD-ROM and you're learning!

    It's EASY! It's as simple as 1-2-3! GNU GVideo GProfessor's straightforward "What-You -See-Is-What-You-Do" approach makes learning as easy as watching TV!

    It's CONVENIENT! We're ready to teach you day and night! With your busy schedule, you don't have time to waste at classes or seminars. Don't fumble through boring man pages. Whatever your schedule, we're ready when you are!

    It's COMPLETE! These aren't short teaser lessons. Each 60-minute lesson takes you from installing the software to more advanced skills. And they're not just for beginners! We'll surprise you with the knowledge you'll gain!

    Why Am I Making This Incredible Offer? I'm so confident that once you try my exceptional " What-You-See-Is-What-You-Do" learning method, you'll turn to us for all your computer learning needs.

    * How it works!

    The bonus gift and ANY TWO of the three computer learning CD-ROMs are yours free without further obligation, PERIOD. Take 10 days to decide if you want to keep the complete set of CDs. After your 10 day free trial, if you decide to keep the complete set, we'll conveniently bill your credit card just $69.95. Or simply contact our customer care number at rtfm@gnu.org if you decide to return any one of the lessons, and you will be charged nothing more!

    Every day hundreds of people just like you learn with GNU GVideo GProfessor this same fast and easy way. If you decide to keep all three lessons, every five weeks you will continue learning by automatically receiving other GNU GVideo GProfessor subjects you have an interest in, billed on the same exact terms as your first shipment. Or simply call and cancel. Everything is up to you! But most important, you are never under any obligation to purchase a subject that you don't keep. Best of all, the bonus gift, and your choice of any two of the three computer learning CD-ROMs are yours to keep FREE!

    ds

  8. The one thing the Zaurus could do WinCE couldn't.. by RevAaron · · Score: 3, Interesting

    When people cheerlead for the Zaurus, and I made a reply pointing out that all of those things can be done on the Zaurus, the one thing that I couldn't come back that WinCE did as well with was a C compiler. All of the other stuff- SSH, VNC, writing code, etc- can be done on WinCE, and in some cases is actually done better on WinCE than it is on the Zaurus. For instance, writing, compiling and viewing LaTeX docs- it's easy to do on WinCE, with a decent app that integrates it all, but on the Zaurus, you're stuck with a lot of configuring and writing code in vi rather than integrating with the Qtopia environment. Eww.

    Someone did a port of GCC to MIPS/WinCE a while back, but since everyone is using ARM processors now a days, that was pretty useless. NOt sure of the usefulness of this project, but certainly someone will get something out of it!

    I for one do a fair amount of coding all on the WinCE device, never needing to get a desktop to intervene. No, I don't have a Windows desktop. Smalltalk, Python, Java, Perl/tk and a number of other languages are all available on WinCE- meaning you can do development without a Windows desktop or MS SDK.

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  9. Re:The one thing the Zaurus could do WinCE couldn' by belroth · · Score: 1

    What Perl/tk is available for WinCE/PocletPC?

    --
    I hereby inform you that I have NOT been required to provide any decryption keys.
  10. Re:Who wants... by Anonymous Coward · · Score: 0

    I used to wonder why people posted things like that.

    Now I'm just glad I'll never know.

  11. Seems to me ... by torpor · · Score: 2, Interesting

    ... that there is a huge market here, for a *smart* PalmOS-based development tool.

    You may not want to write C code (lord, I would default to (void *) for everything!) but I'm sure there are ways to approach PalmOS application-development in a "PalmOS GUI"-like manner...

    It seems to me that a good test of a GUI system is how well that GUI system supports continued development of apps for that system ... well, s/GUI/user interface/ ... I mean, for text-mode user interface style interaction, a text-based programming language and development environment is appropriate.

    But for a pen/graffiti/limited text entry capabilities/bitmap style interface ... what 'language' (should language even be used?) or development environment would work best?

    For PalmOS, I'd love to see a drag 'n drop-style editor environment (like Delphi...) with a very smart 'scripting language', the basics of which are described in PalmOS-GUI metaphors ... making development *on* PalmOS the priority.

    I'd pay for that, if it existed, as a developer, especially if it gave me the ability to do graphics fairly easily ...

    Perhaps some of the FLASH-based Flash development environments would work? My Clie can play Flash now ... I should check into that.

    --
    ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
  12. !ick by SHEENmaster · · Score: 1

    I use my sharp zaurus for C and Python development regularly. I plan to cross compile G++ in the near future.

    Nearly anything I need in Linux I can just cross compile from my iBook or server. I've got the necessary development tools, a decent (if not perfect) keyboard, a good text editor, and the same console evironment that I'm used to. 64mB of usable (non-ramdisk) ram also helps.

    Palms are organizers and WinCE devices are toys. Stick Linux on it and make it a dev platform.

    --
    You can't judge a book by the way it wears its hair.
  13. Re:The one thing the Zaurus could do WinCE couldn' by RevAaron · · Score: 1

    Not sure what you mean- what version? 6.6 is the package I was using, although should be workable with the newest- PerlCE was rolled into the main distr. Anywho, you can get it here.
    Worked pretty well for me- I used it on Handheld PC 2000 (WinCE 3.0-based) and on PocketPC 2000 and 2002 (both WinCE 3.0-based too).

    PerlCE at Rainer's site.

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  14. Re:The one thing the Zaurus could do WinCE couldn' by RevAaron · · Score: 1

    doh!

    That was the package I used to use- and I should say that it worked quite well. Worked better on a device with 32 MB or more of RAM- Tk sucks a lot of it. It worked fine on a 16 MB unit, but seemed slower to start up. The download is pretty thin, not too many modules come with it. I simply copied the modules from a desktop installation of the same version. I had a bunch of new whacky Tk widgets and everything. Can't remember which it was, but I ran a little database app in Perl/Tk and it worked swell.

    The rest of the world has moved forward tho- there is PerlCE 5.8.0 and Tk for it.

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  15. Forth? Where at? by nurb432 · · Score: 1

    Ive not seen it for pocketPC.. would be interested in looking at it...

    --
    ---- Booth was a patriot ----
    1. Re:Forth? Where at? by Piquan · · Score: 1

      As I said, my experience is with the Palm, not PocketPC. I was using Quartus Forth, which is Palm-only. But a quick session with Google finds both dsFORTH and SP-FORTH. They might be of help, but I haven't looked at them.

  16. Depends on what you mean by port. by devphil · · Score: 1


    In the same sense as this article has used it, meaning, "run GCC on the device," yes, that would be difficult. GCC demands very few features from the host, but they do have to be there.

    In the sense that most compiler developers mean it, "running GCC to produce code for the device, even though GCC is actually running on [something else]," that's much more common, and much easier.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
    1. Re:Depends on what you mean by port. by RevAaron · · Score: 1

      Seemed pretty obvious to me what was meant by port, considering the article and my discussion of what POS lacks as a potential host. GCC on other platforms have been able to target PalmOS for a long time.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  17. Re:The one thing the Zaurus could do WinCE couldn' by penguin7of9 · · Score: 1

    When people cheerlead for the Zaurus, and I made a reply pointing out that all of those things can be done on the Zaurus, the one thing that I couldn't come back that WinCE did as well with was a C compiler.

    Yeah, but who cares? The Zaurus's Qtopia environment is almost as limiting as WinCE's environment.

    With an X11-based handheld, you can really plug it in, log in remotely, and use it like a real machine. Neither the Zaurus nor WinCE machines come close.