谈谈linux c编程过程

来源:互联网 发布:python format 编辑:程序博客网 时间:2024/05/22 07:41

0x01 缘起于阶段性总结

    谈谈个人在linux下c/c++编程体会,首先基本要求是熟悉linux常用命令和C语言编程。然后一定的理论基础,比如熟悉网络编程(TCP/IP协议、HTTP协议等)、多线程编程、驱动程序开发等。有一定的理论基础后,在根据公司具体产品和业务进行基础框架的搭建和业务的编写。

0x02 创建项目工程

    创建项目工程的关键是进行模块的划分,做到高内聚低耦合是关键。Makefile文件的编写,一般可以参照开源项目进行编写,找到一个接近自己想法的文件去改写。建议自己做个一个小的工程去体会。

0x03 开发任务的分配

      项目工程创建完后,接下来就是分配任务模块和优先级了。公共模块优先级较高,应安排技术能力较强、工作效率高的能完成。任务分配完后,各自完成编码任务。

0x04开发人员完成单元测试

     在编码和测试过程中会遇到coredump等问题,可以参照我另一篇文章去完成。单元测试可以自己编写测试用例,制造一些数据进行测试。或者利用一些单元测试工具辅助完成。

0x05各开发人员集成测试

     搭建真实的测试环境去完成整体的功能测试,解决程序不稳定问题和性能问题。

0x06代码审查

    开发人员进行代码走查->利用工具进行代码静态检查->团队成员之间完成代码走查

    静态代码检查工具cppcheck、splint,主要发现一些明显的内存泄露等问题。

0x07 代码版本管理

    代码一旦上库,就要管理好相应的变更管理。每发生一次变更都要由详细的记录,要进行回滚。

0x08 稳定性和性能调优

    Linux c编程中常出现的问题有内存泄露、cpu占用率较高、内存消耗较快和较大。

    辅助解决内存泄露的工具valgrind,valgrind的使用能够较快的发现在代码静态检查中遗漏的内存泄露问题。

    解决Cpu占用率较高的工具gperftools,gperftools的使用能够清楚的找出程序什么地方占用cpu较高,可以辅助开发人员对代码进行相应的优化。

     Linux 常用命令 top、free等查询系统资源。

0x09 结尾

    个人认为不依赖工具,但是能够提利用工具提高工作效率是明智的。后续会将添加上述的工具的使用说明文章。工具有:cppcheck、splint、valgrind、gperftools等。

 

0 0
原创粉丝点击