# gcc 编译四步骤
![](/api/file/getImage?fileId=604e0db3c9095f000e000023)
# gcc 编译参数
gcc编译:
```
4步骤: 预处理、编译、汇编、连接。
-I: 指定头文件所在目录位置。
-c: 只做预处理、编译、汇编。得到 二进制 文件!!!
-g: 编译时添加调试语句。 主要支持 gdb 调试。
-Wal
# 系统调用
lseek函数:
```c
off_t lseek(int fd, off_t offset, int whence);
```
参数:
- fd:文件描述符
- offset: 偏移量,就是将读写指针从whence指定位置向后偏移offset个单位
- whence:起始偏移位置: SEEK_SET/SEEK_CUR/SEEK_END
返回值:
- 成功:较起始位置
# 系统调用
系统调用 内核提供的函数
库调用 程序库中的函数
## open函数
manpage 第二卷,open函数如下,有两个版本的
![](/api/file/getImage?fileId=6050d17bc9095f000d00000e)
返回一个文件描述符,理解为整数,出错返回-1
- pathname 文件路径
- flags 权限控制,只读,只写,读写