Why can’t a compiled computer program be dis-assembled into assembly language, then re-assembled on another OS?
The short version is: When I write a program and compile it, the resulting assembly is *not* a complete list of everything the program needs to do. It is filled with lots of calls like "ask the operating system where file X is" "ask the operating system to put the contents of file X in memory lo…
The Short Answer
The short version is: When I write a program and compile it, the resulting assembly is *not* a complete list of everything the program needs to do. It is filled with lots of calls like "ask the operating system where file X is" "ask the operating system to put the contents of file X in memory location Y" "ask the operating system to find the Windows function DrawASquareBox(), and execute it" Now, OSX and Linux don't have the same functions, or the same file I/O protocols as windows or as each other. You can sometimes make a wrapper that will work around the protocol and naming discinctions, like WINE, which is basically a whole bunch of WindowsFunction(){ LinuxEquivalent(); } But that'll only get you so far, because the resources available are different, and when an equivalent exists, it rarely works the same way.
Analysis
Key Concepts: Operating, system, file
This explanation focuses on operating, system, file and spans 143 words across 3 sentences. At 91% above the average Technology explanation (75 words), this is one of the more thorough answers in this category, reflecting the complexity of the underlying question.
What This Answer Covers
The explanation opens with: “The short version is: When I write a program and compile it, the resulting assembly is *not* a complete list of everythi” It then elaborates by presenting a contrasting perspective, ultimately building toward a complete picture across 3 connected points.
How This Compares in Technology
Ranked #46 of 500 Technology questions by answer depth (top 10%). This places it in the comprehensive tier — the top quarter of most thoroughly answered questions. Questions at this depth typically involve multi-faceted topics requiring nuanced explanation.
Frequently Asked Questions
Is there a simple explanation for why a compiled computer program be dis-assembled into assembly language, then re-assembled on another os?
The short version is: When I write a program and compile it, the resulting assembly is *not* a complete list of everything the program needs to do. It is filled with lots of calls like "ask the operating system where file X is" "ask the operating…
How detailed is this explanation compared to similar Technology questions?
This is one of the most thorough answer at 143 words, ranked #46 of 500 Technology questions by depth. The key concepts covered are operating, system, file.
What approach does this answer take to explain a compiled computer program be dis-assembled into assembly l?
The explanation uses root cause analysis and contrasting perspectives across 143 words. It is categorized under Technology and addresses the question through 2 analytical lenses.