linux高级讲解11QC.docVIP

  • 2
  • 0
  • 约15.26万字
  • 约 28页
  • 2016-09-13 发布于河南
  • 举报
linux高级讲解11QC

linux高级讲解11QC a.c ----- 执行文件 gcc编译一个源码文件要经过四步: 1.预处理 2.编译 3.汇编 4.链接 gcc用法 gcc -option filename gcc -o a a.c -o:生成一个可执行的目标文件 -o2: -o3: gcc -o demo1 demo1.c time ./demo1 gcc -o2 demo1 demo1.c time ./demo1 gcc -o3 demo1 demo1.c time ./demo1 -c: gcc -c demo1.c 生成一个demo1.o ,没有完成最后的链接 -S:gcc -S demo1.c 生成一个demo1.s,汇编文件 -E:gcc -E demo1.c 完成预处理,产生一段新代码,放在 临时文件中 gcc -E demo1.c -o demo1.i 完成预处理,产生一个新的预处后的文件 -I:gcc -I /temp/a.h demo1.c -o demo1 usr/bin usr/lib usr/sbin usr/local/bin usr/local/lib usr/lical/sbin -L:gcc -L /temp/a.o demo1.c -o demo1 (Link) -l:gcc -lm demo1.c -o demo1 lm==libm(.so,.a) -g:gcc -g demo1.c -o demo1 -Wall:gcc -Wall demo1.c -o demo1 -w:gcc -w demo1.c -o demo1 -pipe:gcc -pipe demo1.c -o demo1 -shared:gcc -shared demo1.c -o demo1 .so:动态库文件,是在链接加载,没有特别指定用动态库 文件 .a:静态库文件,是在预处理加载 如何生成这两种文件 静态文件生成: 归档命令:ar -r:新增一个文件,或者替换 -v:显示归档信息 -d:删除一个文件 -x:提取分解 带源代码安装: 1.tar -xvzf a.tar 2.配置操作 ./configure 生成一个makefile文件 ./configure --prefix /temp/path export PATH=PATH:/temp/path cd /home/user1 gedit .bash_profile cd /etc gedit .bashrc 3.make 4.make install 5.make clear make编译内核 linux io 操作 文件操作步骤: 1.打开文件 2.文件操作 3.关闭文件 创建文件 int creat(char * pathname,mode_t mode) rwxrwxrwx 777 0077 24777 06777 打开文件 int open(char * pathname,int flags) flags:O_RDONLY or O_WRONLY or O_RDWR O_APPEND O_TRNUC int open(char * pathname,int flags,mode_t mode) flags:O_RDONLY or O_WRONLY or O_RDWR O_CREAT O_APPEND O_TRNUC mode:S_IRUSR S_IWUSR S_IXUSR S_IRGRP S_IWGRP S_IXGRP S_IROTH S_IWOTH S_IXOTH S_IRWXU S_IRWXG S_IRWXO 00755 关闭文件 int close(int fileflags); 写文件 size_t write(int fd,void* buf,size_t count) fd:文件标识符 buf: count:buf实际的长度 char buf[1024] count=1023 返回的是实际写的字符数 读文件 size_t read(int fd,void* buf,size_t count) fd:文件标识符 buf: count: 返回的是实际读的字符数 文件定位操作 off_t lseek(int fd,off_t off,int whence); off:可以是整数或则负数 whence:SEEK_SET SEEK_CUR SEEK_END lseek(fd,2,SEEK_SET) lseek(fd,2,S

文档评论(0)

1亿VIP精品文档

相关文档