课程提纲:
GCC — GNU 编译器系列
-
* GNU 编译器系列 (GCC)
-
GCC 的历史
-
GCC 的四个阶段
-
中断编译器
-
编译 C 程序
-
预处理器功能
-
预定义的处理器符号
-
警告和扩展
-
优化
-
链接
使用 Make 构建软件
-
make(1) 简介
-
make 如何工作
-
Makefile 规则语法
-
示例:Makefile 首要步骤
-
改进的 Makefile
-
隐含规则
-
示例:Makefile 越简单越好
-
变量
-
定义变量
-
示例:使用变量的 Makefile
-
自动变量
-
特殊目标
-
定义有用的 Phony 目标
GNU C 库和系统调用
-
库目标
-
库标准
-
GNU C 库 - glibc
-
库函数与系统调用
-
使用系统调用
-
使用 errno 处理错误
-
errno 的意义
-
使用 strace
程序参数和环境
-
程序启动
-
使用 argc/argv
-
使用 getopt() 处理选项
-
使用 getopt_long() 处理选项
-
环境
-
操作环境
-
程序退出
-
注册退出处理程序
构建库
-
为何使用库?
-
静态与共享
-
静态库优点
-
共享库优点
-
创建静态库
-
使用静态库
-
创建共享库
-
使用共享库
-
共享库管理
-
库位置
-
ld 配置
时间函数
-
时间何时开始?
-
时间数据类型
-
确定实际时间
-
转换 time_t
-
转换 tm 结构
-
进程时间
-
时间算法
-
辅助分辨率计时器
-
精细粒度计时器
-
实时时钟 (RTC)
进程管理
-
什么是进程
-
进程关系
-
创建子进程
-
执行其它任务
-
相关 execve() 函数
-
等待子进程
-
更准确的等待
-
更改优先级/Nice
-
实时优先
内存操作
-
分配/释放内存
-
内存对齐
-
锁定内存
-
内存复制和初始化
-
内存比较和搜索
调试
-
我的程序执行什么任务?
-
源水平调试
-
调用 gdb
-
gdb 入门
-
检查和更改内存
-
调试信息库
-
与正在运行的进程一起使用 gdb
-
使用 gdb 检验操作系统崩溃
-
调试库 - ElectricFence
-
通过 valgrind 进行调试
-
性能配置处理
基本文件操作
-
流与系统调用
-
打开/关闭流
-
流输入/输出函数
-
流状态/错误
-
流文件定位
-
流缓冲
-
临时和废弃文件
-
打开和关闭文件描述符
-
文件描述符 I/O
-
重新定位文件描述符
-
流/文件描述符转换
-
使用 ANSI I/O 的 cat
-
使用 POSIX I/O 的 cat
通过管道沟通
-
管道简介
-
标准 I/O:popen()/pclose()
-
使用 popen()/pclose()
-
系统调用:pipe()
-
使用pipe()
-
命名的管道
-
使用命名的管道
-
进一步阅读
管理信号
-
什么是信号
-
阻止和检查信号
-
处理信号集
-
阻止信号示例
-
使用 sigaction() 处理信号
-
sigaction() 示例
-
使用 signal() 处理信号
-
发送信号
-
实时信号
使用线程进行编程
-
线程编程简介
-
适合线程的应用程序
-
构建线程程序
-
创建线程
-
线程标识
-
通过加入实现同步化
-
拆分线程
-
停止线程
-
与 sutexes 同步
-
使用互斥器
-
读/和写锁
-
条件变量
-
使用条件变量
-
条件变量 Gotcha
-
进一步阅读
高级文件操作
-
目录操作
-
文件系统操作
-
包含 select() 的多路复用 I/O
-
其它 I/O 函数
-
内存映射的 I/O
-
使用内存映射的 I/O
-
文件锁定
进程间通信 (IPC)
-
进程间通信 (IPC)
-
POSIX IPC 概述
-
POSIX 共享内存
-
POSIX 旗语
-
POSIX 消息队列
-
System V IPC 概述
-
系统 V IPC 共享内存
-
系统 V IPC 旗语阵列
-
系统 V IPC 消息队列
基本网络编程
-
Linux 网络连接概述
-
socket() 入门
-
客户端函数
-
指定 IPv4 地址
-
主机与网络字节顺序
-
TCP/IP 客户端示例
-
地址转换函数
-
使用 getaddrinfo()
-
服务器函数
-
TCP/IP 服务器示例
-
通过 UDP 进行数据电报通信
与 Linux 社区协作
-
接触社区
-
一般注意事项
-
构建社区
-
许可证
-
GPL
-
LGPL
-
BSD
-
知识共享
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请
服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。
专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获