{"id":34,"date":"2009-04-18T16:27:42","date_gmt":"2009-04-18T15:27:42","guid":{"rendered":"http:\/\/blog.kalmbach-software.de\/de\/2009\/04\/18\/ccli-ratsel-wie-sieht-der-callstack-aus\/"},"modified":"2009-04-18T16:30:55","modified_gmt":"2009-04-18T15:30:55","slug":"ccli-ratsel-wie-sieht-der-callstack-aus","status":"publish","type":"post","link":"http:\/\/blog.kalmbach-software.de\/de\/2009\/04\/18\/ccli-ratsel-wie-sieht-der-callstack-aus\/","title":{"rendered":"C++\/CLI R\u00e4tsel: Wie sieht der Callstack aus?"},"content":{"rendered":"<p>Hier ist ein kleines R\u00e4tsel aus meiner C++\/CLI Schulung, die ich letzte Woche gehalten habe:<\/p>\n<p>Der Code wurde mit &#8220;\/clr&#8221; kompiliert (das ist wichtig).<br \/>\nKann mir jemand sagen, wie der <strong>genaue <\/strong>Callstack innerhalb der Methode &#8220;Foo&#8221; aussieht?<br \/>\nUnd: Wie kann man indirekt nachweisen, was genau passiert?<br \/>\nMeine Schulungsteilnehmer d\u00fcrfen nat\u00fcrlich nicht mitmachen, die wissen es ja schon \ud83d\ude09<\/p>\n<pre lang=\"CPP\">\r\nstruct V\r\n{\r\n  V() {}\r\n  V(const V &v) \r\n  {\r\n    this->i = v.i;\r\n  }\r\n  int i;\r\n};\r\n\r\nclass C\r\n{\r\npublic:\r\n  void CallFoo()\r\n  {\r\n    V v;\r\n    Foo(v);\r\n  }\r\n  virtual void Foo(V v)\r\n  {\r\n    \/\/ TODO: Wie sieht der Callstack aus?\r\n  }\r\n};\r\n\r\nint main()\r\n{\r\n  C c;\r\n  c.CallFoo();\r\n}\r\n\r\n<\/pre>\n<p>L\u00f6sungen k\u00f6nnen als Kommentare gepostet werden.<br \/>\nEin kleiner Hinweis noch: VS208 zeigt nicht den exakten Callstack an, aber er zeigt, dass da irgendwas noch passiert sein muss \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hier ist ein kleines R\u00e4tsel aus meiner C++\/CLI Schulung, die ich letzte Woche gehalten habe: Der Code wurde mit &#8220;\/clr&#8221; kompiliert (das ist wichtig). Kann mir jemand sagen, wie der genaue Callstack innerhalb der Methode &#8220;Foo&#8221; aussieht? Und: Wie kann man indirekt nachweisen, was genau passiert? Meine Schulungsteilnehmer d\u00fcrfen nat\u00fcrlich nicht mitmachen, die wissen es [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,3],"tags":[],"class_list":["post-34","post","type-post","status-publish","format-standard","hentry","category-alles-uber-dotnet-programmierung","category-alles-uber-die-echte-windowsprogrammierung"],"_links":{"self":[{"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/posts\/34","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/comments?post=34"}],"version-history":[{"count":0,"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/posts\/34\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/media?parent=34"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/categories?post=34"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/tags?post=34"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}