{"guid":"b8424140-1639-44f7-a19a-67af58ad61e9","title":"Man against Compiler","subtitle":null,"slug":"froscon2019-2426-man_against_compiler","link":"https://programm.froscon.de/2019/events/2426.html","description":"After having spent about a decade of aggressively optimising C/C++ code, the speaker would like to share his view on modern compilers, why C isn't a portable assembler anymore and why some people have a rather radical belief that optimising compilers are dead. \n\nAfter having spent about a decade of aggressively optimising C/C++ code, the speaker would like to share his view on modern compilers, why C isn't a portable assembler anymore and why some people have a rather radical belief that optimising compilers are dead. \n\nThe speaker will demonstrate several simple C programs that get compiled to native code with surprising results including now famous \"rm -rf /\" executed from an unreachable function. These and other similar programs cause a friction in programming and infosec communities. While people are mostly concerned with unpredictable artefacts of undefined behaviour in C/C++ languages, there are also performance considerations.\n\nFinally, the speaker will briefly look at other languages and check if they do any better.","original_language":"eng","persons":["Alex Nasonov"],"tags":["froscon2019","2426","Development"],"view_count":2341,"promoted":false,"date":"2019-08-10T00:00:00.000+02:00","release_date":"2019-08-10T02:00:00.000+02:00","updated_at":"2025-12-01T13:30:07.910+01:00","length":3094,"duration":3094,"thumb_url":"https://static.media.ccc.de/media/events/froscon/2019/2426-hd.jpg","poster_url":"https://static.media.ccc.de/media/events/froscon/2019/2426-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/froscon/2019/2426-hd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/froscon/2019/2426-hd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/froscon2019-2426-man_against_compiler","url":"https://api.media.ccc.de/public/events/b8424140-1639-44f7-a19a-67af58ad61e9","conference_title":"FrOSCon 2019","conference_url":"https://api.media.ccc.de/public/conferences/froscon2019","related":[{"event_id":7265,"event_guid":"480a501f-cb98-4af1-bbab-273c383e2080","weight":7},{"event_id":7268,"event_guid":"7007a0ab-a90c-4c5a-8ff2-e9faa6eba646","weight":36},{"event_id":7278,"event_guid":"8f758bad-51ea-453a-9d97-6c97a614f2e4","weight":34},{"event_id":7279,"event_guid":"967fa2a1-265f-47c1-90b2-ec8dba08b328","weight":21},{"event_id":7281,"event_guid":"bb5b04bd-9599-4d93-bd12-c779f381cf5e","weight":48},{"event_id":7286,"event_guid":"a2f61e35-bf54-4cf9-9362-e4d04fa94915","weight":24},{"event_id":7287,"event_guid":"0ff8cbfa-b751-4107-beec-33a2678939d8","weight":38},{"event_id":7295,"event_guid":"1804f134-5ee8-46ff-8ea0-279350304c2a","weight":27},{"event_id":7298,"event_guid":"f87f303a-5b65-4cfe-b4b6-54c8557e868e","weight":20},{"event_id":7307,"event_guid":"3f274d3f-db32-4687-95e7-ce5dcf866bee","weight":6},{"event_id":7308,"event_guid":"725bf5fc-26a0-468b-a1ee-c5e5e8154fd2","weight":31},{"event_id":7332,"event_guid":"50ad5991-1b2f-4a92-ba87-dec6456f085a","weight":86},{"event_id":7341,"event_guid":"7100ad0c-e4f3-4784-b707-46759cd3cb6a","weight":52},{"event_id":7342,"event_guid":"88474e85-c77c-466e-9351-d306b620f495","weight":20},{"event_id":7348,"event_guid":"d826f086-8ce2-4925-9dfa-b02db91c73ca","weight":40},{"event_id":7357,"event_guid":"38775ee6-c151-4cc6-974c-4d121f95b159","weight":25}],"recordings":[{"size":237,"length":3094,"mime_type":"video/mp4","language":"eng","filename":"froscon2019-2426-eng-Man_against_Compiler_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-08-10T21:06:11.908+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2019/h264-hd/froscon2019-2426-eng-Man_against_Compiler_hd.mp4","url":"https://api.media.ccc.de/public/recordings/36767","event_url":"https://api.media.ccc.de/public/events/b8424140-1639-44f7-a19a-67af58ad61e9","conference_url":"https://api.media.ccc.de/public/conferences/froscon2019"},{"size":31,"length":3094,"mime_type":"audio/opus","language":"eng","filename":"froscon2019-2426-eng-Man_against_Compiler_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2019-08-10T21:15:13.837+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2019/opus/froscon2019-2426-eng-Man_against_Compiler_opus.opus","url":"https://api.media.ccc.de/public/recordings/36774","event_url":"https://api.media.ccc.de/public/events/b8424140-1639-44f7-a19a-67af58ad61e9","conference_url":"https://api.media.ccc.de/public/conferences/froscon2019"},{"size":47,"length":3094,"mime_type":"audio/mpeg","language":"eng","filename":"froscon2019-2426-eng-Man_against_Compiler_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2019-08-10T21:15:34.972+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2019/mp3/froscon2019-2426-eng-Man_against_Compiler_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/36775","event_url":"https://api.media.ccc.de/public/events/b8424140-1639-44f7-a19a-67af58ad61e9","conference_url":"https://api.media.ccc.de/public/conferences/froscon2019"},{"size":90,"length":3094,"mime_type":"video/mp4","language":"eng","filename":"froscon2019-2426-eng-Man_against_Compiler_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-08-10T21:26:46.594+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2019/h264-sd/froscon2019-2426-eng-Man_against_Compiler_sd.mp4","url":"https://api.media.ccc.de/public/recordings/36779","event_url":"https://api.media.ccc.de/public/events/b8424140-1639-44f7-a19a-67af58ad61e9","conference_url":"https://api.media.ccc.de/public/conferences/froscon2019"},{"size":121,"length":3094,"mime_type":"video/webm","language":"eng","filename":"froscon2019-2426-eng-Man_against_Compiler_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-08-10T21:37:06.849+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2019/webm-sd/froscon2019-2426-eng-Man_against_Compiler_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/36783","event_url":"https://api.media.ccc.de/public/events/b8424140-1639-44f7-a19a-67af58ad61e9","conference_url":"https://api.media.ccc.de/public/conferences/froscon2019"},{"size":320,"length":3094,"mime_type":"video/webm","language":"eng","filename":"froscon2019-2426-eng-Man_against_Compiler_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-08-10T22:27:52.473+02:00","recording_url":"https://cdn.media.ccc.de/events/froscon/2019/webm-hd/froscon2019-2426-eng-Man_against_Compiler_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/36818","event_url":"https://api.media.ccc.de/public/events/b8424140-1639-44f7-a19a-67af58ad61e9","conference_url":"https://api.media.ccc.de/public/conferences/froscon2019"}]}