LLVM has a similar page: <a href="http://llvm.org/demo" rel="nofollow">http://llvm.org/demo</a><p>you can compile C/C++ to LLVM IR and also 32 or 64 bit intel assembler. you can also see the effects of different optimizations, etc
Nice project. Will be more useful if there is an explanation of code generated. For example, making the various assembly instructions clickable and displaying information about them. Also a tiny bit of explanation about code and data sections might be of help too :)
This could be a great educational tool! It could be used to teach Introductory Computer Organization at the college level.<p>I have a suggestion:<p>- Would you be able to separate the web interface, so that it could used to display Java -> JVM assembly, or any other language. Basically, so that it would be re-usable.<p>- Putting this up on GitHub would be great.<p>Finally, great work for just a weekend!
Definitely interesting! Lots of us unix people would just run objdump -d for a quick ASM extraction, but this is probably much friendlier to the user just starting to learn C/ASM.<p>Overall, Good Job!
Silently fails if you make a syntax error. I accidentally pasted this without newlines and at first I thought it wasn't responding:<p><pre><code> #include <stdio.h>int main() { printf("Hello World"); }</code></pre>
Can i recommend adding -masm=intel to your gcc flags? I know AT&T syntax is the default for gcc and gas, but not why. Intel syntax seems clearer to read and is used by most assembly tutorials.
This really removes any hurdle I might have of inspecting the assembly code due to sheer laziness of opening up my Visual Studio and start debugging. Awesome work. If you add some type of interactivity to the generated assembly, it can be made more visual.
I love it!<p>My only suggestion right now is to have it so you can have the assembly on the left or right side. Maybe it's just me, but my focus seems to be on the left side more than the right.<p>Since this is a focused on assembly it seems, wouldn't you want the focus on the assembly, not the C? It could be different for different people though.
Very neat! Suggestion: add a 'flags' field where you can specify stuff like -std=c99 and any other flags you might need for your code to compile, and a horizontal rule or something like that after every line of input code.<p>If you do the 'flags' thing make sure you filter it to avoid escapes to the underlying shell.
Error: Command failed: /tmp/test969394043.c:1:0: fatal error: can’t open /root/assembler/ccMEBJ3B.s for writing: Permission denied
compilation terminated.
The bug is not reproducible, so it is likely a hardware or OS problem.<p>Really.
Interesting project. As an improvement to the UI, you can consider adding syntax highlighting to the editor. Take a look at ACE editor (<a href="http://ace.ajax.org/" rel="nofollow">http://ace.ajax.org/</a>).
It'd be nice to make, e.g. the for loop clickable, so that it "stuck" and you could scroll down and see where it ended.<p>As it is now, as soon as you move your mouse, it unhighlights.
don't work really - some guidance on use might be acceptable. does it need to be a whole program? my snippets give confusing errors about variable identifiers not being types o_0
excellent -- my unsolicited advice is for you to ping some professors and TAs who teach low-level programming to get them interested in using this in their teaching.