课程培训
Unix/Linux下的C/C++核心编程培训课程


  • 培训对象

  • 适合具备C/C++语言基础(掌握基本语法、数据类型、流程控制),希望系统掌握Unix/Linux环境下系统级编程核心技术、向底层开发方向进阶的软件开发工程师、嵌入式开发人员、后端开发者及计算机相关专业学生

  •  

  • 培训目标

  • 完成本课程后,学员将能够深入理解Unix/Linux操作系统的底层运行机制,熟练掌握GCC工具链、Makefile构建、GDB调试等核心开发工具,掌握文件I/O、进程控制、线程同步、网络通信等系统编程关键技术,具备分析和解决系统级编程中的内存管理、并发控制、性能优化等复杂问题的实战能力,能够独立开发基于Unix/Linux平台的高效、稳定的系统级应用

  •  

  • 培训内容


  • (1)Unix/Linux环境与开发工具链:了解Unix/Linux操作系统的发展历程、体系结构及其与Windows的本质差异。掌握Linux文件系统层次结构、Shell基础命令与脚本编程
    。学习GCC/G++编译器的核心参数与编译流程(预处理、编译、汇编、链接),掌握静态库与共享库的创建与使用。实践Makefile的编写规范与自动化构建技术

    (2)GDB调试技术与内存分析:掌握GDB调试器的核心命令与应用技巧,包括断点设置(普通断点、条件断点、硬件断点)、单步执行、堆栈回溯、变量监视。学习Core Dump文件的生成与分析,定位段错误等致命问题。掌握Valgrind内存检测工具的使用,识别内存泄漏、非法内存访问等问题

    (3)C/C++语言核心深化:深入理解指针与引用的底层机制,掌握指针运算、多级指针、函数指针及其在系统编程中的应用。学习动态内存管理(malloc/free、new/delete)的实现原理与最佳实践。掌握结构体、共用体、枚举等复合数据类型的对齐与填充规则。理解C++面向对象特性(封装、继承、多态)在系统编程环境中的应用

    (4)文件I/O与文件系统编程:掌握标准C库文件I/O函数(fopen/fread/fwrite)与POSIX系统调用(open/read/write)的区别与联系。深入理解文件描述符的概念与操作,掌握文件读写指针定位、文件锁机制。学习目录操作(opendir/readdir)、文件属性获取(stat/lstat)、硬链接与软链接的实现原理

    (5)进程管理与控制:理解进程的完整生命周期(创建、运行、终止、回收)与进程状态转换机制。掌握fork/vfork、exec族函数的实现原理与使用技巧,学习孤儿进程、僵尸进程的产生与处理方法。掌握wait/waitpid函数回收子进程资源,理解守护进程的创建规范与编程模型

    (6)信号处理机制:深入理解信号的本质与内核处理流程,掌握标准信号与实时信号的差异。学习signal/sigaction函数的注册与使用,掌握信号集操作与信号阻塞技术。实践实现信号的可靠传递与异步事件处理,掌握SIGCHLD信号在子进程回收中的应用

    (7)进程间通信(IPC)核心技术:掌握管道通信机制,包括无名管道(pipe)与有名管道(FIFO)的创建与应用场景。学习System V IPC三大机制:消息队列、共享内存、信号量的原理与编程接口。掌握共享内存与信号量的协同使用实现高效进程间数据交换

    (8)多线程编程与同步机制:理解线程与进程的本质区别,掌握POSIX线程库(pthread)的核心API。学习线程的创建、终止、分离与资源回收。深入掌握线程同步机制:互斥锁(mutex)、条件变量(condition variable)、读写锁(rwlock)、信号量(semaphore)的原理与适用场景

    (9)网络编程与Socket通信:掌握TCP/IP协议栈的核心原理与数据封装过程。学习Socket编程的基本流程:socket创建、bind绑定、listen监听、accept接受、connect连接。实现TCP客户端/服务器模型的完整代码,掌握UDP编程的差异与适用场景。了解UNIX域套接字在本地进程间通信中的应用

    (10)高并发网络服务器设计:学习I/O多路复用技术,掌握select、poll、epoll的机制原理与性能差异。实践使用epoll实现高并发网络服务器,理解水平触发与边缘触发的区别。掌握Reactor反应堆模型的设计思想与简单实现,了解多线程与多进程并发模型的优缺点

    (11)系统资源管理与性能优化:掌握系统资源限制的获取与设置(ulimit、getrlimit/setrlimit)。学习CPU亲和性设置、进程优先级调整(nice值)。掌握性能分析工具(gprof、perf)的使用方法,识别程序热点与性能瓶颈。实践实现代码级别的性能优化策略。

    (12)综合项目实战:企业级系统应用开发:结合所学知识,完成一个完整的Unix/Linux系统编程项目(如高并发Web服务器、分布式监控代理、多线程日志系统)。涵盖需求分析、架构设计、模块划分、编码实现、调试优化、文档撰写的全流程,形成规范的Linux系统级应用项目报告与可运行的代码库

 




如果您想学习本课程,请预约报名
如果没找到合适的课程或有特殊培训需求,请订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请

服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。

专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获
报名表下载
联系我们 更多>>

咨询电话010-62883247

                4007991916

咨询邮箱:soft@info-soft.cn  

 

  微信咨询

随时听讲课

聚焦技术实践

订制培训 更多>>