返学费网 > 培训机构 > 福州博洋信息人才

0591-8741005

全国统一学习专线 8:30-21:00

 

博洋教育今日就业明星:杨丽成功就职广州南天电脑系统有限公司福州分公司担任java工程师
明星背后那些不为人知的故事:杨丽:福建师范信息技术可视化程序设计专业,大专学历。在博洋教育参加java软件项目实训,该生学习态度端正,有比较好的学习心态,会主动请教老师同学。毕业后经过就业部老师的推荐,现在成功入职广州南天电脑系统有限公司福州分公司。

关于给函数增加Debug头,博客内已有一篇文章对此进行阐述:给函数增加Debug头。但是觉得还有很多工作没做,比如对代码有限制必须编译正确、文件大小不能超过BUF_SIZE的一次性读入、判断是否是函数头过于简单、不支持多种编码格式文件等。这么庞大的工作量,针对这些情况,考虑利用现有的具有类似静态代码分析功能的格式化开源工具寻找合适的解决方案。

  针对这个需求,采用Astyle格式化工具代码,基于2.03版改进。判断条件很简单:如果是顶头的"{",对C来说,除了extern "C"和结构体,就是函数的开始,而extern "C"一般只在头文件用;对C++来说,除了namespace,基本上就是函数的开始(而namespace一般也只在头文件用--这句话是错的,但是有namespace的时候,函数的{依然是顶格被格式化的,所以依然可用),结构体和namespace的部分现在依然需要手动删除添加的宏定义。只添加了几行代码,且添加代码部分分别用//add by zqb down和//add by zqb up注释包围,表示是添加的用作调试的代码。

  添加的代码有三段,均在

  void ASConsole::formatFile(const string &fileName_)

  void ASConsole::formatFile(const string &fileName_)函数中。

  第一段:[cpp] view plaincopyprint?

  //add by zqb down

  out 《 "#include \"debug.h\"\r\n";

  linesOut++;

  //add by zqb up

  //add by zqb down

  out 《 "#include \"debug.h\"\r\n";

  linesOut++;

  //add by zqb up表示添加调试宏所在的头文件。

  第二段:

  //add by zqb down

  if(nextLine == "{")

  {

  out 《 "\r\n"《" \t"《"DEBUG;\r\n";

  linesOut++;

  }

  //add by zqb up

  //add by zqb down

  if(nextLine == "{")

  {

  out 《 "\r\n"《" \t"《"DEBUG;\r\n";

  linesOut++;

  }

  //add by zqb up表示添加调试头的具体内容。

  第三段:

  //add by zqb down

  filesAreIdentical = false;

  //add by zqb up

  //add by zqb down

  filesAreIdentical = false;

  //add by zqb up无论什么条件下,都更新到新的文件。

  【注】

  1、编译报错:newline in constant:使用notepad++打开ASLocalizer.cpp,格式->以UTF-8格式编码,保存文件 重新编译

  2、上传的工程中,包含原2.03的工程,更新后使用工程本身的代码作为测试、使用不加第三段添加项导致无法更新文件的MJInterface.cpp代码、使用测试代码编译工程的工程、使用生成的exe对当前文件夹批处理添加调试宏头的脚本、简单的readme.txt.笔者使用的是免费的Microsoft Visual C++ 2008 Express Edition编译vs2008的版本。此处为工程下载链接

  3、使用限制:要求实用ansi的标准格式化(命令行选项是-A1)才是把函数的第一个'{'另起一行顶格

温馨提示:为不影响您的学业,来校区前请先电话咨询,方便我校安排相关的专业老师为您解答
  • 热门课程
姓名不能为空
手机号格式错误