{"id":240,"date":"2005-11-09T23:26:23","date_gmt":"2005-11-10T11:26:23","guid":{"rendered":"http:\/\/www.horace.org\/blog\/?p=240"},"modified":"2005-11-09T23:26:23","modified_gmt":"2005-11-10T11:26:23","slug":"debug","status":"publish","type":"post","link":"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/","title":{"rendered":"debug"},"content":{"rendered":"<p>I have been spending endless nights in debugging the UMTS extension to ns2, which the simulator for my thesis work.  Ns2 is an open source freeware, one of the two most used simulation softwares for analyzing network preformence.  The only other alternative is Opnet, a commercial product that no student can afford and not popular enough to have pirate copy to download.  I don&#8217;t want to work on the slow servers in the stinky school&#8217;s lab, therefore I choose ns2 for my work.  The core of ns2 is relatively stable, other than lack of documentation, it is fairly good.  Alas, the UMTS extension is poorly maintained.  The original coder of that module only debug it for his own research.  It still has lots of holes in the logics.  Worse, there is absolutely no document on implemenation, I can only guess the function of the code and try to fix it.  I found to debug hardware is easier debug than software.  The major problem in debugging software is I can&#8217;t have the wavefrom traced.  I can&#8217;t run the simulation all the way till the end and then check the state changes back in the timeline.  Instead, I have to set breakpoints and step throught the code carefully.  This is a very time consuming and repeatitive task.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been spending endless nights in debugging the UMTS extension to ns2, which the simulator for my thesis work. Ns2 is an open source freeware, one of the two most used simulation softwares for analyzing network preformence. The only other alternative is Opnet, a commercial product that no student can afford and not popular &hellip; <a href=\"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">debug<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"lc_iscn_info":[],"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-240","post","type-post","status-publish","format-standard","hentry","category-_scribble"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>debug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp<\/title>\n<meta name=\"description\" content=\"I have been spending endless nights in debugging the UMTS extension to ns2, which the simulator for my thesis work. Ns2 is an open source freeware, one of\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"debug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp\" \/>\n<meta property=\"og:description\" content=\"I have been spending endless nights in debugging the UMTS extension to ns2, which the simulator for my thesis work. Ns2 is an open source freeware, one of\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/\" \/>\n<meta property=\"og:site_name\" content=\"\u54f2\u5b50\u6232 Philosophist\u2019s Camp\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/horace.org\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/horace.org\" \/>\n<meta property=\"article:published_time\" content=\"2005-11-10T11:26:23+00:00\" \/>\n<meta name=\"author\" content=\"hevangel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@horaceorg\" \/>\n<meta name=\"twitter:site\" content=\"@horaceorg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hevangel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2005\\\/11\\\/09\\\/debug\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2005\\\/11\\\/09\\\/debug\\\/\"},\"author\":{\"name\":\"hevangel\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\"},\"headline\":\"debug\",\"datePublished\":\"2005-11-10T11:26:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2005\\\/11\\\/09\\\/debug\\\/\"},\"wordCount\":220,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\"},\"articleSection\":[\"Daily Scribble\"],\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.horace.org\\\/blog\\\/2005\\\/11\\\/09\\\/debug\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2005\\\/11\\\/09\\\/debug\\\/\",\"url\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2005\\\/11\\\/09\\\/debug\\\/\",\"name\":\"debug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#website\"},\"datePublished\":\"2005-11-10T11:26:23+00:00\",\"description\":\"I have been spending endless nights in debugging the UMTS extension to ns2, which the simulator for my thesis work. Ns2 is an open source freeware, one of\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2005\\\/11\\\/09\\\/debug\\\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.horace.org\\\/blog\\\/2005\\\/11\\\/09\\\/debug\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2005\\\/11\\\/09\\\/debug\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"debug\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/\",\"name\":\"\u54f2\u5b50\u6232 Philosophist\u2019s Camp\",\"description\":\"\u860b\u679c\u65e5\u5831\u4f5c\u8005 - \u9673\u99ac\uff1a\u66f8\u8a55\uff0c\u5f71\u8a55\uff0c\u52d5\u6f2b\uff0c\u65c5\u884c\uff0c\u54f2\u5b78\u7b46\u8a18\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\",\"name\":\"hevangel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\",\"width\":1313,\"height\":1259,\"caption\":\"hevangel\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\"},\"sameAs\":[\"http:\\\/\\\/www.horace.org\",\"https:\\\/\\\/www.facebook.com\\\/horace.org\"],\"url\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/author\\\/hevangel-2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"debug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp","description":"I have been spending endless nights in debugging the UMTS extension to ns2, which the simulator for my thesis work. Ns2 is an open source freeware, one of","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/","og_locale":"en_US","og_type":"article","og_title":"debug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp","og_description":"I have been spending endless nights in debugging the UMTS extension to ns2, which the simulator for my thesis work. Ns2 is an open source freeware, one of","og_url":"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/","og_site_name":"\u54f2\u5b50\u6232 Philosophist\u2019s Camp","article_publisher":"https:\/\/www.facebook.com\/horace.org","article_author":"https:\/\/www.facebook.com\/horace.org","article_published_time":"2005-11-10T11:26:23+00:00","author":"hevangel","twitter_card":"summary_large_image","twitter_creator":"@horaceorg","twitter_site":"@horaceorg","twitter_misc":{"Written by":"hevangel","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/#article","isPartOf":{"@id":"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/"},"author":{"name":"hevangel","@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c"},"headline":"debug","datePublished":"2005-11-10T11:26:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/"},"wordCount":220,"commentCount":0,"publisher":{"@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c"},"articleSection":["Daily Scribble"],"inLanguage":"en-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/","url":"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/","name":"debug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp","isPartOf":{"@id":"https:\/\/www.horace.org\/blog\/#website"},"datePublished":"2005-11-10T11:26:23+00:00","description":"I have been spending endless nights in debugging the UMTS extension to ns2, which the simulator for my thesis work. Ns2 is an open source freeware, one of","breadcrumb":{"@id":"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.horace.org\/blog\/2005\/11\/09\/debug\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.horace.org\/blog\/"},{"@type":"ListItem","position":2,"name":"debug"}]},{"@type":"WebSite","@id":"https:\/\/www.horace.org\/blog\/#website","url":"https:\/\/www.horace.org\/blog\/","name":"\u54f2\u5b50\u6232 Philosophist\u2019s Camp","description":"\u860b\u679c\u65e5\u5831\u4f5c\u8005 - \u9673\u99ac\uff1a\u66f8\u8a55\uff0c\u5f71\u8a55\uff0c\u52d5\u6f2b\uff0c\u65c5\u884c\uff0c\u54f2\u5b78\u7b46\u8a18","publisher":{"@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.horace.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":["Person","Organization"],"@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c","name":"hevangel","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1","url":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1","width":1313,"height":1259,"caption":"hevangel"},"logo":{"@id":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1"},"sameAs":["http:\/\/www.horace.org","https:\/\/www.facebook.com\/horace.org"],"url":"https:\/\/www.horace.org\/blog\/author\/hevangel-2\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/swn21-debug","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":51,"url":"https:\/\/www.horace.org\/blog\/2005\/04\/07\/network-simulator\/","url_meta":{"origin":240,"position":0},"title":"network simulator","author":"hevangel","date":"April 7, 2005","format":false,"excerpt":"I have been sturggling with ns2 for the past 24 hours. ns2 is an open source network simulation implemented in tcl and C++. It suppose to be one of the most popular academic reseach tool in communication network. My problem right now is the compliation doesn't seem right, when I\u2026","rel":"","context":"In &quot;Daily Scribble&quot;","block_context":{"text":"Daily Scribble","link":"https:\/\/www.horace.org\/blog\/category\/_scribble\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":214,"url":"https:\/\/www.horace.org\/blog\/2005\/10\/11\/wyd-journal-done\/","url_meta":{"origin":240,"position":1},"title":"WYD journal done","author":"hevangel","date":"October 11, 2005","format":false,"excerpt":"There ain't much energy left in me to write today's blog. I have spent half of the night writing the final chapter of my world youth day journal. (The other half of the night went to cook dinner, wash dishes and ns2) I had wrote 7 articles in total since\u2026","rel":"","context":"In &quot;Daily Scribble&quot;","block_context":{"text":"Daily Scribble","link":"https:\/\/www.horace.org\/blog\/category\/_scribble\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":61,"url":"https:\/\/www.horace.org\/blog\/2005\/04\/18\/61\/","url_meta":{"origin":240,"position":2},"title":"research progress","author":"hevangel","date":"April 18, 2005","format":false,"excerpt":"- setup CVS shared between cygwin and linux - ported Eurane module to ns 2.28 - installed tcl-debug - debugged avoidReordering_ warning","rel":"","context":"In &quot;Daily Scribble&quot;","block_context":{"text":"Daily Scribble","link":"https:\/\/www.horace.org\/blog\/category\/_scribble\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":569,"url":"https:\/\/www.horace.org\/blog\/2006\/11\/27\/snowday\/","url_meta":{"origin":240,"position":3},"title":"Snowday","author":"hevangel","date":"November 27, 2006","format":false,"excerpt":"Today is my first snowday in Vancouver.? The HR sent out an email early in the morning encourage employees work from home instead of coming into the office.? Half of the team is not in today.? I found working at home is not very productive.? I end up have a\u2026","rel":"","context":"In &quot;Daily Scribble&quot;","block_context":{"text":"Daily Scribble","link":"https:\/\/www.horace.org\/blog\/category\/_scribble\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9038,"url":"https:\/\/www.horace.org\/blog\/2015\/05\/06\/21st-century-c-2nd-edition-ben-klemens\/","url_meta":{"origin":240,"position":4},"title":"21st Century C, 2nd Edition &#8211; Ben Klemens","author":"hevangel","date":"May 6, 2015","format":false,"excerpt":"\u9019\u672c\u66f8\u4e0d\u9069\u5408\u5b78\u5beb\u7a0b\u5f0f\u7684\u521d\u5fc3\u8005\u770b\uff0c\u4e0d\u904e\u4eca\u6642\u4eca\u65e5\u6709\u66f4\u591a\u66f4\u65b0\u66f4\u6613\u5b78\u7684\u8a9e\u8a00\uff0c\u76f8\u4fe1\u6c92\u6709\u521d\u5b78\u8005\u6703\u63c0\u5b78\u5f9eC\u958b\u59cb\u4e0b\u624b\u3002\u9019\u672c\u66f8\u5beb\u7d66\u5169\u985e\u4eba\u770b\uff0c\u4e00\u985e\u662f\u6211\u9019\u7a2e\u5341\u5e7e\u5e74\u524d\u5b78\u904e\u4e0bC\uff0c\u653e\u4f4e\u5f88\u4e45\u73fe\u5728\u8981\u66f4\u65b0\u77e5\u8b58\uff0c\u53e6\u4e00\u985e\u662f\u6709\u5176\u4ed6\u7a0b\u5f0f\u8a9e\u8a00\u5e95\u5b50\u7684\u4eba\u3002\u9019\u672c\u66f8\u8207\u6211\u521d\u5b78\u5beb\u7a0b\u5f0f\u90a3\u500b\u5e74\u4ee3\u7684\u8ab2\u672c\u5f88\u4e0d\u540c\uff0c\u5176\u7de8\u6392\u5b8c\u5168\u8f15\u8996C\u8a9e\u8a00\u7684\u6587\u6cd5\u548c\u683c\u5f0f\uff08syntax\uff09\u3002\u5176\u4ed6\u50b3\u7d71C\u8ab2\u672c\u5927\u534a\u672c\u66f8\u8b1bsyntax\uff0c\u5462\u672c\u66f8\u5c31\u7528\u6700\u5c3e\u4e00\u500b\u9644\u9304\u55ae\u7c21\u4ecb\u7d39\u4e0b\u5c31\u7b97\u3002\u53cd\u6b63\u90a3\u4e9b\u6771\u897f\u4e0d\u7528\u6b7b\u80cc\uff0c\u53ef\u4ee5\u843d\u624b\u843d\u8173\u6642\u624d\u908a\u505a\u908a\u5b78\uff0c\u6709IDE auto-complete\u53c8\u6709\u7db2\u4e0a\u53c3\u8003\uff0c\u53c8\u771f\u4fc2\u5514\u61c9\u8a72\u6d6a\u8cbb\u58a8\u6c34\u3002 \u9019\u672c\u66f8\u4e00\u958b\u59cb\u82b1\u4e09\u5206\u4e00\u672c\u66f8\u8b1b\u8207C\u6c92\u6709\u76f4\u63a5\u95dc\u4fc2\u7684\u6771\u897f\uff0c\u4e0d\u904e\u73fe\u4eca\u5bebC\u7a0b\u5f0f\u4e00\u5b9a\u6709\u7528\u7684\u5de5\u5177\u8edf\u4ef6\uff0c\u5982gcc\uff0cgit\uff0cmakefile\u7b49\uff0c\u9084\u6709\u4e00\u4e9b\u66f4\u6df1\u5165\u7684Linux\u984c\u6750\u5982\u6574package\uff0c\u4e5c\u91ce\u4fc2process\uff0c\u9ede\u5bebdynamic library\u7b49\u3002\u4ee5\u524d\u5b78\u5bebC\uff0c\u8ab2\u672c\u9023\u5982\u4f55compile\u500bprogram\u4e5f\u4e0d\u6703\u6559\u4f60\uff0c\u4e00\u958b\u59cb\u8001\u9f20\u62c9\u9f9c\u4e0d\u77e5\u5982\u4f55\u4e0b\u624b\u3002\u5b78\u9019\u4e9b\u6771\u897f\u8aaa\u96e3\u4e0d\u96e3\uff0c\u8aaa\u6613\u4e0d\u6613\uff0c\u4e0d\u904e\u9019\u672c\u66f8\u628a\u5b83\u5011\u653e\u5728\u4e00\u8d77\uff0c\u6709\u9f4a\u5f9e\u96f6\u5230\u8edf\u4ef6\u51fa\u8857\u4e00\u689d\u9f8d\u6240\u6709\u5fc5\u8981\u6b65\u9a5f\uff0c\u5341\u5206\u65b9\u4fbf\u3002\u8ab2\u672c\u8b1b\u7684\u4e3b\u6d41opensource\u61c9\u7528\u5de5\u5177\uff0c\u4e0d\u904e\u77e5\u9053\u5de5\u5177\u7684\u985e\u5225\u548c\u540d\u7a31\u5f8c\uff0c\u4e0d\u8271search\u66f4\u52a0\u597d\u7528\u7684point tool\u3002 \u597d\u4e86\uff0c\u8ad6\u5230\u4e3b\u83dc\u4e0a\u789f\uff0c\u7d42\u65bc\u5165\u6b63\u984c\u8b1bC\u3002\u4e00\u9ece\u5c31\u51fa\u6700\u5805\u4fc2\uff0c\u8b1bpointer\u3002\u592bpointer\u8005\uff0cC\u4e4b\u4e0a\u4e58\u5167\u529f\u5fc3\u6cd5\u4e5f\uff0c\u53ea\u8981\u7cbe\u901a\u4e86pointer\uff0c\u4f60\u5c31\u7b49\u65bc\u5b78\u4e86C\u7684\u7cbe\u9ad3\uff0c\u53ef\u4ee5\u5beb\u51fa\u8d85\u5feb\u7684\u7a0b\u5f0f\uff0cpointer\u662f\u5176\u4ed6\u7a0b\u5f0f\u8a9e\u8a00\u6240\u6c92\u6709\uff0c\u6700\u63a5\u8fd1assembly\u7684\u5b58\u5728\u3002\u63a5\u4e0b\u4f86\u4f5c\u8005\u8b1b\u65b0\u4e00\u4ee3C-99\u7684\u8a9e\u6cd5\uff0c\u4e3b\u529b\u6307\u51fa\u4e0a\u53e4\u6642\u4ee3\u90a3\u4e9b\u8ab2\u672c\u6559\u58de\u4eba\u7684\u5beb\u6cd5\u3002\u56b4\u683c\u4f86\u8aaa\u4e0d\u53ef\u8aaa\u6559\u58de\u4eba\uff0c\u53ea\u662f\u7576\u5e74\u7684compiler\u6709\u6280\u8853\u9650\u5236\uff0c\u4e0d\u80fd\u4e0d\u90a3\u6a23\u5bebcode\uff0c\u73fe\u5728\u7684compiler\u5f37\u52c1\u591a\u4e86\u4e0d\u518d\u6709\u90a3\u4e9b\u9650\u5236\uff0c\u4e0d\u6c42\u751a\u89e3\u7684\u4eba\u7167\u8ddf\u820a\u5beb\u6cd5\uff0c\u5176\u4ed6\u6709\u66f4\u65b9\u4fbf\u66f4\u6613\u8b80\u7684\u5beb\u6cd5\u3002\u6700\u5f8c\u4e09\u5206\u4e00\u672c\u66f8\u4e0d\u77e5\u4f5c\u8005\u73a9\u91ce\u5b9ashow off\uff0c\u6559\u4e86\u5927\u4e00\u5806\u8d85\u5f37macro\uff0c\u53ef\u4ee5\u8b93C\u6a21\u4eff\u65b0\u4e00\u4ee3\u9ad8\u968e\u7a0b\u5f0f\u8a9e\u8a00\uff0c\u9023OOP\u90fd\u53ef\u4ee5\u5728C\u505a\u5230\uff0c\u53ea\u80fd\u5beb\u500b\u670d\u5b57\u7d66\u4ed6\u3002\u4e0d\u904e\u6211\u59cb\u7d42\u662f\u820a\u6642\u4ee3\u7684C\u4eba\uff0c\u5c0dmacro\u5341\u5206\u6297\u62d2\uff0c\u56e0\u70bamacro\u597d\u9b3c\u6b7b\u96e3debug\u3002\u5176\u5be6\u9ede\u89e3\u8981\u7528macros\u5beb\u90a3\u9ebc\u8907\u96dc\u7684\u8a9e\u6cd5\u5462\uff0c\u70ba\u4ec0\u9ebc\u4e0d\u7d22\u6027\u7528C++\u7b97\u6578\uff1f \u8b80\u904e\u4e86\u9019\u672c\u66f8\uff0c\u5c31\u5347\u7d1a\u6210\u70ba\u65b0\u4e00\u4ee3\u7684C\u4eba\uff0c\u8b58\u5beb\u65b0C\u3002","rel":"","context":"In &quot;\u66f8\u8a55&quot;","block_context":{"text":"\u66f8\u8a55","link":"https:\/\/www.horace.org\/blog\/category\/_books\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2015\/05\/lrg.jpg?fit=500%2C656&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":3074,"url":"https:\/\/www.horace.org\/blog\/2009\/06\/08\/%e8%aa%a4%e5%b0%8e%e5%ad%b8%e7%94%9f%e7%9a%84%e4%b8%83%e5%8f%a5%e8%a9%b1\/","url_meta":{"origin":240,"position":5},"title":"\u8aa4\u5c0e\u5b78\u751f\u7684\u4e03\u53e5\u8a71","author":"hevangel","date":"June 8, 2009","format":false,"excerpt":"\u793e\u6703\u4e0a\u5c0d\u88dc\u7fd2\u5929\u738b\u5929\u540e\u4e00\u822c\u5e36\u6709\u8ca0\u9762\u5370\u8c61\ufe50\u6709\u4e9b\u6559\u80b2\u5b78\u8005\u548c\u653f\u5e9c\u5b98\u54e1\ufe50\u66f4\u8996\u88dc\u7fd2\u98a8\u6c23\u70ba\u6d2a\u6c34\u731b\u7378\ufe50\u8a8d\u70ba\u4ed6\u5011\u8aa4\u5c0e\u5b78\u751f\u76f8\u4fe1\u8003\u8a66\u4e3b\u5bb0\u4eba\u751f\ufe50\u525d\u596a\u5b78\u751f\u6109\u5feb\u5b78\u7fd2\u7684\u7ae5\u5e74\u3002\u6211\u5c0d\u88dc\u7fd2\u793e\u6c92\u6709\u7279\u5225\u597d\u611f\ufe50\u4e0d\u904e\u5012\u64c1\u8b77\u9999\u6e2f\u4e00\u76f4\u4ee5\u4f86\u884c\u4e4b\u6709\u6210\u7684\u8003\u8a66\u5236\u5ea6\u3002\u4eca\u5929\u8def\u904e\u88dc\u7fd2\u5929\u540e\u6881\u8cc0\u742a\u7684\u7db2\u8a8c\ufe50\u5979\u662f\u5168\u6e2f\u6700\u5927\u88dc\u7fd2\u793e\u9075\u7406\u5b78\u6821\u7684\u5275\u8fa6\u4eba\ufe50\u95b1\u8b80\u5979\u5beb\u7684\u6563\u6587\u4e0b\ufe50\u767c\u73fe\u5979\u8207\u6211\u5c0d\u6559\u80b2\u7684\u770b\u6cd5\u6709\u591a\u76f8\u540c\u89c0\u9ede\u3002\u6211\u5c0d\u88dc\u7fd2\u793e\u662f\u597d\u662f\u58de\u9084\u6c92\u6709\u5b9a\u8ad6\ufe50\u4e0d\u904e\u6881\u5929\u540e\u70ba\u88dc\u7fd2\u754c\u5728\u6211\u5fc3\u4e2d\u52a0\u4e86\u4e0d\u5c11\u5206\u3002\u9806\u5e36\u4e00\u984c\ufe50\u6211\u4eba\u751f\u6700\u656c\u91cd\u7684\u8001\u5e2b\u6c88Sir\u73fe\u5728\u4e5f\u662f\u6559\u9075\u7406\u3002\u6c88Sir\u672a\u7576\u88dc\u7fd2\u5929\u738b\u524d\u5728\u6211\u5011\u4e2d\u5b78\u6559\u7269\u7406\ufe50\u6211\u5011\u4e00\u73ed40\u4eba\u8003\u6703\u8003\ufe50\u7adf\u7136\u670926\u689dA\u3002\u4ed6\u53ef\u8d85\u904e\u534a\u73ed\u5b78\u751f\u62ffA\ufe50\u771f\u7280\u5229\u3002 \u5728\u5979\u7684\u7db2\u8a8c\u4e2d\ufe50\u6709\u5e7e\u7bc7\u6587\u7ae0\u8ac7\u8ad6\u8aa4\u5c0e\u5b78\u751f\u7684\u4e03\u53e5\u8a71\u3002\u76f8\u4fe1\u5728\u9999\u6e2f\u8b80\u66f8\u7684\u670b\u53cb\ufe50\u6216\u591a\u6216\u5c11\u4e5f\u6703\u807d\u904e\u9019\u5e7e\u53e5\u8aaa\u8a71\u3002\u6211\u7d30\u500b\u6642\u4e5f\u66fe\u8aa4\u4fe1\u5176\u4e2d\u67d0\u5e7e\u53e5\ufe50\u73fe\u5728\u898b\u8b58\u591a\u4e86\u660e\u767d\u90a3\u4e9b\u8aaa\u8a71\u5bb3\u4eba\u4e0d\u6dfa\ufe50\u56de\u982d\u770b\u767c\u73fe\u7576\u5e74\u6d6a\u8cbb\u4e0d\u5c11\u6642\u9593\u3002\u82e5\u679c\u5c0f\u6642\u5019\u6709\u4eba\u6559\u5c0e\u6211\u6b63\u78ba\u7684\u5b78\u7fd2\u614b\u5ea6\ufe50\u7cfe\u6b63\u9019\u53e5\u8aaa\u8a71\u7684\u6b6a\u7406\ufe50\u6216\u8a31\u4eca\u5929\u6211\u662f\u4e00\u500b\u5b8c\u5168\u4e0d\u540c\u7684\u4eba\u3002\u7576\u7136\u9019\u5e7e\u53e5\u8aaa\u8a71\u4e0d\u80fd\u8aaa\u5168\u932f\ufe50\u53ea\u662f\u6709\u610f\u7121\u610f\u5ffd\u7565\u4e86\u6700\u91cd\u8981\u7684\u8a0a\u606f\u3002\u5b78\u751f\u7167\u8457\u505a\u5c31\u597d\u50cf\u7df4\u6b66\u6797\u5bc6\u7b08\u53ea\u7df4\u62f3\u6cd5\u4e0d\u5b78\u5fc3\u6cd5\u4e00\u6a23\ufe50\u5b8c\u5168\u662f\u6d6a\u8cbb\u6642\u9593\u3002 \u5514\u660e\u5c31\u8981\u554f - \u4e0d\u662f\u53eb\u4f60\u5b8c\u5168\u4e0d\u8981\u554f\u554f\u984c\ufe50\u91cd\u9ede\u662f\u8981\u7d93\u904e\u601d\u8003\u5f8c\u9084\u4e0d\u660e\u767d\u624d\u554f\u554f\u984c\u3002 \u660e\u4e86\u5c31\u4e0d\u5fc5\u6b7b\u8a18 - \u8a18\u5c31\u5fc5\u5b9a\u662f\u6b7b\u8a18\ufe50\u53ea\u6709\u6b7b\u8a18\u4e86\u624d\u80fd\u5920\u6d3b\u7528\u3002 \u7bc4\u6587\u7a92\u7919\u5b78\u751f\u601d\u8003 - \u6253\u529f\u592b\u5f9e\u5957\u62f3\u958b\u59cb\ufe50\u5beb\u66f8\u6cd5\u4e5f\u662f\u5f9e \u6479\u5e16\u958b\u59cb\ufe50\u7bc4\u6587\u5c31\u662f\u5beb\u6587\u7ae0\u7684\u57fa\u672c\u529f\u592b\u3002 \u591a\u4f5c\u6587\u53ef\u4ee5\u6539\u5584\u5beb\u4f5c - \u53ea\u5beb\u6587\u7ae0\u4e0d\u6aa2\u8a0e\u6587\u7ae0\u5beb\u5f97\u597d\u4e0d\u597d\ufe50\u5c31\u597d\u50cf\u5beb\u7a0b\u5f0f\u4e0ddebug\u4e00\u6a23\u3002\u4e0d\u8ad6\u5beb\u591a\u5c11\u884ccode\ufe50\u6c38\u9060\u4e5f\u5beb\u4e0d\u51fa\u4e00\u500bprogram\u51fa\u4f86\u3002 \u5b78\u82f1\u6587\u6839\u672c\u4e0d\u5fc5\u5b78\u6587\u6cd5 - \u6587\u6cd5\u5176\u5be6\u662f\u5b78\u7fd2\u5916\u8a9e\u7684\u6377\u5f91\u3002 \u5230\u5916\u570b\u7559\u5b78\u53ef\u4ee5\u6539\u5584\u82f1\u6587 - \u5916\u570b\u5f8c\u8981\u5c11\u548c\u4e2d\u570b\u4eba\u4f86\u5f80\u624d\u80fd\u5b78\u597d\u82f1\u6587\u554a\u3002 \u6c42\u5b78\u4e0d\u662f\u6c42\u5206\u6578 - \u9019\u500b\u4e0d\u7528\u8aaa\u4e86\u5427\u3002","rel":"","context":"In &quot;\u751f\u6d3b\u96a8\u7b46&quot;","block_context":{"text":"\u751f\u6d3b\u96a8\u7b46","link":"https:\/\/www.horace.org\/blog\/category\/_life\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2024\/06\/Screen-Shot-2018-08-25-at-1.38.45-PM.jpg?fit=1087%2C728&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2024\/06\/Screen-Shot-2018-08-25-at-1.38.45-PM.jpg?fit=1087%2C728&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2024\/06\/Screen-Shot-2018-08-25-at-1.38.45-PM.jpg?fit=1087%2C728&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2024\/06\/Screen-Shot-2018-08-25-at-1.38.45-PM.jpg?fit=1087%2C728&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2024\/06\/Screen-Shot-2018-08-25-at-1.38.45-PM.jpg?fit=1087%2C728&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_likes_enabled":false,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/posts\/240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/comments?post=240"}],"version-history":[{"count":0,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/posts\/240\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/media?parent=240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/categories?post=240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/tags?post=240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}