谈谈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等。
- 谈谈linux c编程过程
- 谈谈网络编程(基于C++)
- [C#] 谈谈异步编程async await
- Linux 64位C编程过程中的注意点
- 谈谈Object-C的内存管理方式及过程?
- Linux C 进阶过程
- [Linux] linux C编程
- C语言编程过程详解
- C语言编程过程详解
- Proxy源代码分析--谈谈如何学习linux网络编程
- Proxy源代码分析--谈谈如何学习linux网络编程
- Proxy源代码分析--谈谈如何学习linux网络编程 [转]
- Proxy源代码分析--谈谈如何学习linux网络编程
- Proxy源代码分析--谈谈如何学习linux网络编程
- Proxy源代码分析--谈谈如何学习linux网络编程
- Proxy源代码分析--谈谈如何学习linux网络编程
- Proxy源代码分析--谈谈如何学习Linux网络编程
- Proxy源代码分析--谈谈如何学习linux网络编程
- 听课笔记(一)
- AMQP 协议学习笔记之二(编程实战)
- Java课程设计实训第三天——实现猜猜看游戏的基本要求
- 织梦列表页调用文章标题和摘要
- 利用python中的gzip模块压缩和解压数据流和文件
- 谈谈linux c编程过程
- nginx容错相关配置
- Python多线程
- 修改tomcat配置文件来改变访问路径
- NGUI DrawCall数量优化( 记录备忘 )
- iOS UI之删除导航栏左侧按钮
- hibernate的hql查询语句总结
- (7.2.5.1)在执行此操作之前,请在数据库中创建一个主密钥或在会话中打开该主密钥。
- 使用apktool解包和打包apk