•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the Software Developers' Lounge section within the Software Development category of DaniWeb, a massive community of 426,859 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,221 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Software Developers' Lounge advertiser: Programming Forums
Views: 2549 | Replies: 7
![]() |
•
•
Join Date: Aug 2004
Posts: 212
Reputation:
Rep Power: 5
Solved Threads: 2
Now here's a interesting question I've been pondering but haven't quite been able to solve...how is the first compiler for a platform made (e.g. new OS, processor, etc)?
The Digital Freeway, professional paid hosting starting at just $10 a month, 5GB disk space and 15GB bandwidth, we have free hosting too and all accounts are instantly activated
•
•
Join Date: Aug 2004
Posts: 212
Reputation:
Rep Power: 5
Solved Threads: 2
huh? how is it possible to compile something for say, PPC on a Intel platform?
The Digital Freeway, professional paid hosting starting at just $10 a month, 5GB disk space and 15GB bandwidth, we have free hosting too and all accounts are instantly activated
•
•
Join Date: Dec 2003
Location: Nashville, TN
Posts: 2,333
Reputation:
Rep Power: 11
Solved Threads: 102
•
•
Join Date: Aug 2004
Posts: 212
Reputation:
Rep Power: 5
Solved Threads: 2
That's true but last I checked the machine code for Intel and PPC platforms are different, as an example, one can't run linux apps compiled on a Intel computer and one can't run a linux app compiled on a PPC computer (a mac), as far as I know in order for a application to work on a certain processor it has to be compiled on that processor...of course there's obviously something you guys are trying to tell me that I'm just missing...hmmm...
The Digital Freeway, professional paid hosting starting at just $10 a month, 5GB disk space and 15GB bandwidth, we have free hosting too and all accounts are instantly activated
•
•
Join Date: Dec 2003
Location: Nashville, TN
Posts: 2,333
Reputation:
Rep Power: 11
Solved Threads: 102
I think you've got your terminology mixed up. There's compiled on and compiled for. I can have code that's compiled on an AMD64 machine, but it's for a PPC machine.
Like I was mentioning earlier, it's just a matter of knowing how to translate the source code into the machine code that the target processor can read. The translation is a task that any machine can do, because it's just processing one form of input into another form of output. That's what computers do by nature.
Case in point: I've got an old Sparcstation with a 60mhz processor. If I need to compile something for it, rather than wait an hour for something to finish, I can compile it on my Athlon XP system in a fraction of the time. That's because I have appropriate cross-compilers for that platform.
Without getting into the specifics of machine-specific instruction code, the important thing to keep in mind is that one machine can compile code for another system quite easily, because all it compiling is, essentially, is taking one type of input (source code) and outputting it in another form (machine-specific code). There's logic applied to optimize the machine code, but even still, all we're doing is taking an input and translating it to a desired output format.
Like I was mentioning earlier, it's just a matter of knowing how to translate the source code into the machine code that the target processor can read. The translation is a task that any machine can do, because it's just processing one form of input into another form of output. That's what computers do by nature.
Case in point: I've got an old Sparcstation with a 60mhz processor. If I need to compile something for it, rather than wait an hour for something to finish, I can compile it on my Athlon XP system in a fraction of the time. That's because I have appropriate cross-compilers for that platform.
Without getting into the specifics of machine-specific instruction code, the important thing to keep in mind is that one machine can compile code for another system quite easily, because all it compiling is, essentially, is taking one type of input (source code) and outputting it in another form (machine-specific code). There's logic applied to optimize the machine code, but even still, all we're doing is taking an input and translating it to a desired output format.
Alex Cavnar, aka alc6379
•
•
Join Date: Aug 2004
Posts: 212
Reputation:
Rep Power: 5
Solved Threads: 2
Ah yeah that's true I suppose, just haven't come by any programs that do that as far as I know, thanks for your replies
The Digital Freeway, professional paid hosting starting at just $10 a month, 5GB disk space and 15GB bandwidth, we have free hosting too and all accounts are instantly activated
•
•
Join Date: Dec 2003
Location: Nashville, TN
Posts: 2,333
Reputation:
Rep Power: 11
Solved Threads: 102
•
•
•
•
Originally Posted by hexstar
Ah yeah that's true I suppose, just haven't come by any programs that do that as far as I know, thanks for your replies
Glad to help-- if you're really interested in checking out cross-compiling in action, check out NetBSD. They wouldn't have been able to compile everything that they do if not for cross compiling-- it's simply not feasible to compile an entire native OS on and for an Amiga with a 40mhz 68040 processor, when you could do it on a dual Opteron system!
Alex Cavnar, aka alc6379
![]() |
•
•
•
•
•
•
•
•
DaniWeb Software Developers' Lounge Marketplace
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
•
•
•
•
ajax asp blog bt business software compiler developer development erp systems experiment firefox high-performance india internet it japan java malware mcafee media microsoft microsystems mmorpg msdn news office online open-source platform programming project management publishing python rss search security software software selection spyware sql sun super technology evaluation tips tools vista web wiki windows
Other Threads in the Software Developers' Lounge Forum
- Previous Thread: how many days in each month?
- Next Thread: cs in college for me?



Linear Mode