{"id":420,"date":"2008-01-24T11:39:53","date_gmt":"2008-01-24T10:39:53","guid":{"rendered":"http:\/\/soci.hu\/blog\/index.php\/2008\/01\/24\/ms-c-csapat-polo-felirat\/"},"modified":"2008-01-24T11:39:53","modified_gmt":"2008-01-24T10:39:53","slug":"ms-c-csapat-polo-felirat","status":"publish","type":"post","link":"https:\/\/soci.hu\/blog\/index.php\/2008\/01\/24\/ms-c-csapat-polo-felirat\/","title":{"rendered":"MS C++ csapat p\u00f3l\u00f3 felirat"},"content":{"rendered":"<p>&#8220;My compiler complied yours&#8221; :)<\/p>\n<p>Nem \u00e1rulok el nagy titkot, de a C#, VB, \u00e9s C++ compilert C++-ban \u00edrj\u00e1k. \u00c9rdekes, hogy a UNIX-ok vil\u00e1g\u00e1ban a C++ mostohagyerek, ami nem annyira a nyelv miatt van szerintem, hanem marh\u00e1ra sokf\u00e9le C++ compiler implement\u00e1ci\u00f3 l\u00e9tezik, amelyek apr\u00f3, de fontos pontokon k\u00fcl\u00f6nb\u00f6znek, \u00edgy nem portolhat\u00f3 a k\u00f3d rendesen. Vagy laza a nyelvi szabv\u00e1ny, vagy kupi van a m\u00e1sik oldalon, \u00edzl\u00e9s k\u00e9rd\u00e9se.<\/p>\n<p>Persze, az msnek k\u00f6nnyebb dolga van, nem kell t\u00f6bb platformra dolgozni, m\u00e1s k\u00e9rd\u00e9s, hogy Windows alatt is van sokf\u00e9le compiler, m\u00e9gis m\u0171k\u00f6dik k\u00f6z\u00f6tt\u00fck a bin\u00e1ris egy\u00fcttm\u0171k\u00f6d\u00e9s, k\u00f6sz\u00f6nhet\u0151 egy okos szabv\u00e1nynak, a COM-nak.<br \/>\nIgen, a COM nem halt ki, pedig azt hitt\u00fck, ki fog. Sok ponton soha nem lesz a COM alternat\u00edv\u00e1ja a .NET. Mi\u00e9rt? Tegy\u00fck fel, egy IE vagy Shell extensiont \u00edrok (most t\u00e9nyleg azt, az el\u0151bbit). Ha .NET-ben \u00edrom, akkor be kell t\u00f6lt\u0151dni az \u00e1ltalam haszn\u00e1lt CLR-nek a target processzbe. Ok, eddig nincs nagy baj. De mi van, ha egy m\u00e1sik gy\u00e1rt\u00f3 cucca meg m\u00e1s CLR verzi\u00f3t k\u00e9r? Egy processzben csak egy CLR verzi\u00f3 lehet, aki el\u0151sz\u00f6r bet\u00f6lt\u0151d\u00f6tt, az nyert. Az\u00e9rt ez igen g\u00e1zos dolog egy extension \u00edr\u00f3nak, nem? Mi marad? ATL, C++.<\/p>\n<p>Mostan\u00e1ban sokat tanulom a C++-t, kaptam a c\u00e9gt\u0151l p\u00e1r k\u00f6nyvet, \u00e9s kicsit \u00fagy \u00e9rzem, kezdek nagykor\u00fav\u00e1 v\u00e1lni a programol\u00e1sban. M\u00e9g mindig nem \u00e9rtek hozz\u00e1, soha nem is fogok, de egyre t\u00f6bb dolgot l\u00e1tok bel\u0151le, \u00e9s napr\u00f3l-napra led\u00f6bbenek, mennyi mindent nem tudok m\u00e9g. De j\u00f3 \u00e9rz\u00e9s tanulni, mindig van mit.<\/p>\n<p>Z\u00e1r\u00e1sul m\u00e9g k\u00e9t adal\u00e9k. A C++ ford\u00edt\u00f3t t\u00e9nyleg C++-ban \u00edrj\u00e1k, mindig a saj\u00e1t verzi\u00f3val. Teh\u00e1t, most \u00edrj\u00e1k a 2008 ut\u00e1ni C++ compilert, \u00e9s annak a ford\u00edt\u00e1s\u00e1hoz felhaszn\u00e1lj\u00e1k a &#8220;f\u00e9lk\u00e9sz&#8221; C++ compilert. Meredek? :)<\/p>\n<p>Ja, \u00e9s a JScript.NET compilert C#-ban \u00edrt\u00e1k. :) Meg lehet n\u00e9zni reflectorral, \u00e9n nem tal\u00e1ltam benn\u00fck C++\/CLI maradv\u00e1nyokat (modopt, stb.):<br \/>\nC:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\jsc.exe<br \/>\nC:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\Microsoft.JScript.dll<br \/>\nC:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\Microsoft.Vsa.dll<\/p>\n<p>(A Sytem.Data pl. C++\/CLI-ben k\u00e9sz\u00fclt, a program managere m\u00e9g a dem\u00f3kat is abban mutatta Redmondban).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;My compiler complied yours&#8221; :) Nem \u00e1rulok el nagy titkot, de a C#, VB, \u00e9s C++ compilert C++-ban \u00edrj\u00e1k. \u00c9rdekes, hogy a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,15,4],"tags":[],"class_list":["post-420","post","type-post","status-publish","format-standard","hentry","category-c","category-fun","category-szakmai-elet"],"_links":{"self":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=420"}],"version-history":[{"count":0,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/420\/revisions"}],"wp:attachment":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}