{"id":13421268,"url":"https://github.com/skybosi/map_c-cpp","last_synced_at":"2025-03-15T08:31:16.655Z","repository":{"id":35720530,"uuid":"39998736","full_name":"skybosi/map_c-cpp","owner":"skybosi","description":"Generate a program diagram of function call","archived":false,"fork":false,"pushed_at":"2015-07-31T09:55:33.000Z","size":160,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-07-31T22:58:25.394Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skybosi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-31T09:49:30.000Z","updated_at":"2016-10-11T16:34:20.000Z","dependencies_parsed_at":"2022-08-30T06:00:26.362Z","dependency_job_id":null,"html_url":"https://github.com/skybosi/map_c-cpp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skybosi%2Fmap_c-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skybosi%2Fmap_c-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skybosi%2Fmap_c-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skybosi%2Fmap_c-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skybosi","download_url":"https://codeload.github.com/skybosi/map_c-cpp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243707201,"owners_count":20334611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T22:01:53.141Z","updated_at":"2025-03-15T08:31:13.401Z","avatar_url":"https://github.com/skybosi.png","language":"C","readme":"#map_program\r\n#程序目的：\r\n##实现对程序中函数调用的关系网生成，特别是复杂的程序系统！\r\n\r\n#程序缘来：\r\n##对于复杂的较大的程序，函数的分离和独立，相互调用，让即使是编写者也很难把握其中的调用关系网！为此，我想设计一个程序来获得其中的关系网，即使是程序没有运行！\r\n\r\n#程序原理：\r\n##引用关键宏__func__ __FILE__ __LINE__等，在每一个函数开始时加入一个固定的测试宏来获取当前函数的信息！通过一个深度(deep)变量，控制调用树的级别，每进入一个函数，深度自加，退出函数深度自减！\r\n\r\n#关键方法：\r\n##1.测试宏的插入，对于一个源码，要实现对源码的重新编辑，在函数开始加测试宏+，结束测试宏-\r\n##2.函数调用树的生成，交叉调用的处理？\r\n\r\n#函数句：函数体的实现前的先导句\r\n##函数句的特点:\r\n###1，小括号\r\n###2，{\r\n###3，非关键字连接(","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskybosi%2Fmap_c-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskybosi%2Fmap_c-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskybosi%2Fmap_c-cpp/lists"}