[{"data":1,"prerenderedAt":359},["ShallowReactive",2],{"project-4560410":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":5,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":44,"post_text":46,"what":47,"said":83,"maker_in_thread":192,"shape":203,"grid":207,"attempts":320,"same_week":321,"maker_shows":37,"maker_hidden":351,"reader_version":352,"card":353},"4560410","assembly.ynh.io","Online C\u002FC++ to assembly visualizer [Weekend Project]","title","Show HN: Online C\u002FC++ to assembly visualizer [Weekend Project]","http:\u002F\u002Fassembly.ynh.io\u002F","ynh",1348389964,2012,149,44,128,1677,8,"notable","dev_tools","assembly visualizer","web_app",[23,24,25,26],"c to assembly","c++ assembly","online compiler explorer","gcc assembly output","mixed",-0.118,{"positive":30,"neutral":31,"mixed":32,"critical":33},5,9,2,11,27,{"design":36,"docs":38,"privacy":40,"idea":42,"execution":43},{"positive":37,"critical":37},1,{"positive":39,"critical":37},0,{"positive":39,"critical":41},4,{"positive":41,"critical":39},{"positive":39,"critical":30},[39,45,45,39,37,39,39,37,39,37,39,39,37,39,45,30,39,30,37,45,30,30,45,45,45,37,39,37,37,45,37,39,39,37,45,45,45,39,37,30],3,null,{"problem":48,"audience":54,"pricing":46,"motivation":66,"time_to_build":71,"stack":75,"openness":80,"stage":81,"team_size":82},{"value":49,"source":50,"evidence":51},"Shows the assembly code a C\u002FC++ program compiles to","inferred",[52],{"id":53},"post",{"value":55,"source":56,"evidence":57},"Developers and students learning C and assembly","commenter",[58,62],{"id":59,"by":60,"text":61},"4560638","winter_blue","This could be a great educational tool! It could be used to teach Introductory Computer Organization at the college level. I have a suggestion: - Would you be able to separate…",{"id":63,"by":64,"text":65},"4560736","unix-dude","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…",{"value":67,"source":68,"evidence":69},"Weekend project","maker",[70],{"id":53},{"value":72,"source":56,"evidence":73},"A weekend",[74],{"id":59,"by":60,"text":61},[76],{"value":77,"source":50,"evidence":78},"C",[79],{"id":53},"open_source","launched","solo",{"praise":84,"objections":101,"requests":124,"questions":161,"alternatives":176},[85,94],{"value":86,"source":56,"evidence":87},"Useful educational tool for learning C and assembly",[88,89,90],{"id":59,"by":60,"text":61},{"id":63,"by":64,"text":65},{"id":91,"by":92,"text":93},"4561393","pgbovine","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.",{"value":95,"source":56,"evidence":96},"Saves time versus opening a debugger to inspect assembly",[97],{"id":98,"by":99,"text":100},"4560517","vvnraman","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…",[102,113],{"value":103,"source":56,"evidence":104},"Security risk from running compiler on server; can read system files",[105,109],{"id":106,"by":107,"text":108},"4560515","wutwot","You don't filter out CPP macro's. I would skip that and only allow C code. Or run this thing in a proper jail because at the moment: - doing an include #include \"\u002Fdev\u002Frandom\"…",{"id":110,"by":111,"text":112},"4560759","dzorz","This is part of your \u002Fetc\u002Fshadow file: ``` root:censored ``` We can still read \u002Fetc\u002Fssh\u002Fssh_host_rsa_key, etc. Edit: removed hash, sorry",{"value":114,"source":56,"evidence":115},"Breaks on errors and some browsers like iPad",[116,120],{"id":117,"by":118,"text":119},"4560853","jrajav","Silently fails if you make a syntax error. I accidentally pasted this without newlines and at first I thought it wasn't responding: ``` #include \u003Cstdio.h>int main() {…",{"id":121,"by":122,"text":123},"4560513","alpb","Try this on iPad. Generated assembly looks very bad in terms of layout.",[125,136,147,154],{"value":126,"source":56,"evidence":127},"Explanations of assembly instructions and sections",[128,132],{"id":129,"by":130,"text":131},"4560505","option_greek","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…",{"id":133,"by":134,"text":135},"4560531","Ubiquite","I could have made the same comment. Good project, could be useful to me. A peace of asm documentation would be tasty.",{"value":137,"source":56,"evidence":138},"Side-by-side layout and left\u002Fright toggle",[139,143],{"id":140,"by":141,"text":142},"4560514","berkut","Side by side would be a better layout like: http:\u002F\u002Fgcc.godbolt.org\u002F",{"id":144,"by":145,"text":146},"4561194","b3b0p","I love it! 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…",{"value":148,"source":56,"evidence":149},"Intel syntax option",[150],{"id":151,"by":152,"text":153},"4560616","mappu","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…",{"value":155,"source":56,"evidence":156},"Compiler flags field",[157],{"id":158,"by":159,"text":160},"4560649","tisme","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…",[162,169],{"value":163,"source":56,"evidence":164},"Where does string content go in the output?",[165],{"id":166,"by":167,"text":168},"4561329","Aardwolf","In the hello world example, no matter what text you put there, the assembly is the same. Where does the string content go?",{"value":170,"source":56,"evidence":171},"Is there a beginner's guide to the output?",[172],{"id":173,"by":174,"text":175},"4561289","akavi","Does anyone have a link to a good beginner's guide explaining the output?",[177,184,188],{"value":178,"source":56,"evidence":179},"LLVM demo",[180],{"id":181,"by":182,"text":183},"4561208","munin","LLVM has a similar page: http:\u002F\u002Fllvm.org\u002Fdemo you can compile C\u002FC++ to LLVM IR and also 32 or 64 bit intel assembler. you can also see the effects of different optimizations, etc",{"value":185,"source":56,"evidence":186},"gcc.godbolt.org Compiler Explorer",[187],{"id":140,"by":141,"text":142},{"value":189,"source":56,"evidence":190},"objdump -d",[191],{"id":63,"by":64,"text":65},{"comments":33,"answered":45,"key":193},[194,197,200],{"id":195,"text":196},"4560509","Ok added to the todo list",{"id":198,"text":199},"4560573","I have now added some basic macro detection",{"id":201,"text":202},"4560643","I have now fixed it. But I think there must be an other way to make it safe. Maybe a sandbox",{"commenters":204,"max_depth":17,"maker_replies":33,"first_comment_mins":205,"lifespan_hours":206},33,67,12,[208,210,212,214,216,218,222,224,227,228,231,232,236,238,241,243,244,246,249,250,252,254,257,259,261,263,265,267,270,273,276,279,281,285,288,292,295,298,302,305,309,311,316,318],[181,39,39,209,182,39],"other\u002Fneutral\u002Fnone",[140,37,45,211,141,39],"project\u002Fneutral\u002Fdesign",[129,32,45,213,130,39],"project\u002Fmixed\u002Fdocs",[195,32,39,215,10,37],"maker\u002Fneutral\u002Fdocs",[106,32,37,217,107,39],"project\u002Fcritical\u002Fprivacy",[219,32,39,220,221,39],"4560550","commenter\u002Fneutral\u002Fprivacy","__alexs",[198,32,39,223,10,37],"maker\u002Fneutral\u002Fprivacy",[225,32,37,217,226,39],"4560611","yonilevy",[201,32,39,223,10,37],[229,32,39,220,230,39],"4560737","espes",[110,32,37,217,111,39],[233,32,39,234,235,39],"4560774","commenter\u002Fcritical\u002Fprivacy","daeken",[237,32,39,223,10,37],"4560806",[239,32,37,217,240,39],"4561053","wulczer",[242,32,39,223,10,37],"4560800",[133,32,45,213,134,39],[59,45,30,245,60,39],"project\u002Fpositive\u002Fidea",[247,45,39,248,10,37],"4560645","maker\u002Fneutral\u002Fnone",[63,41,30,245,64,39],[117,30,37,251,118,39],"project\u002Fcritical\u002Fexecution",[151,253,45,211,152,39],6,[255,253,39,256,10,37],"4560646","maker\u002Fneutral\u002Fdesign",[98,258,30,245,99,39],7,[144,17,30,260,145,39],"project\u002Fpositive\u002Fdesign",[166,31,45,262,167,39],"project\u002Fneutral\u002Fnone",[264,31,45,262,141,39],"4561349",[158,266,45,211,159,39],10,[268,33,37,251,269,39],"4560820","gtklocker",[271,33,39,272,10,37],"4560847","maker\u002Fneutral\u002Fexecution",[274,206,37,251,275,39],"4560803","daurnimator",[277,206,37,251,278,39],"4560821","xymostech",[280,206,39,272,10,37],"4560860",[282,283,45,211,284,39],"4560798",13,"ajhai",[121,286,37,287,122,39],14,"project\u002Fcritical\u002Fdesign",[289,286,39,290,291,39],"4560539","commenter\u002Fneutral\u002Fnone","Zenst",[293,286,39,290,294,39],"4560628","jurre",[296,286,37,251,297,39],"4560764","icefox",[299,300,45,211,301,39],"4561725",15,"erichocean",[173,303,45,304,174,39],16,"project\u002Fneutral\u002Fdocs",[306,307,45,211,308,39],"4561365",17,"bostko",[310,307,39,256,10,37],"4561512",[312,313,37,314,315,39],"4561602",18,"project\u002Fcritical\u002Fdocs","jheriko",[317,313,39,215,10,37],"4562027",[91,319,30,245,92,39],19,[],[322,326,331,336,341,346],{"id":323,"name":324,"points":325,"category":19},"4570382","Ejecta",190,{"id":327,"name":328,"points":329,"category":330},"4556296","The Deeps",158,"games",{"id":332,"name":333,"points":334,"category":335},"4555423","5000 best",150,"consumer_social",{"id":337,"name":338,"points":339,"category":340},"4552914","Quantblocks",99,"finance_crypto",{"id":342,"name":343,"points":344,"category":345},"4548106","WP Simple Social",75,"web_saas",{"id":347,"name":348,"points":349,"category":350},"4557174","AzureFS",66,"infrastructure",false,"v2",{"id":354,"name":5,"line":6,"ai":351,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":355,"top":17,"kw":356,"maker":10,"domain":5,"tier":18,"attempts":39,"strip":357,"url":9,"mix":358,"praise":86,"objection":103,"sub":20},4560410,-0.12,[23,24,25,26],"0330100101001035051355333101131001333015",[30,31,32,33],1793990885576]