zoukankan      html  css  js  c++  java
  • linux--工具进阶

    linux学习

    看完了基础篇,下面来看进阶篇

    我好想哭看这的时候,好多只是听说过,但完全没有试过,感觉自己懂得有点少,就是缺乏一些知识储备,也就是必须知道了某些或学过了某些知识才适合来看这一部分,看得太早了,不过看看也好,以后再见到就不陌生了。这篇主要就是在linux编写程序,调试程序,优化性能,这是以后一定要接触了解到的,硬是硬着头皮看完了。

    一般源代码提供的程序安装需要通过配置、编译、安装三个步骤;

    1.配置做的工作主要是检查当前环境是否满足要安装软件的依赖关系,以及设置程序安装所需要的初始化信息,比如安装路径,需要安装哪些组件;配置完成,会生成makefile文件供第二步make使用;
    2.编译是对源文件进行编译链接生成可执行程序;
    3.安装做的工作就简单多了,就是将生成的可执行文件拷贝到配置时设置的初始路径下;

    程序构建

    配置
    编译
    
        makefile编写的要点
        makefile中的全局自变量
        更多选择 CMake
        编译依赖的库
        g++编译
    
    安装
    

    程序构建

    程序调试

    进程调试
        gdb 程序交互调试
        pstack 跟踪栈空间
        strace 分析系统调用
    目标文件分析
        nm
        objdump
        readelf
        size 查看程序内存占用
        file 文件类型查询
        strings 查询数据中的文本信息
        fuser 显示文件使用者
        xxd 十六进制显示数据
        od
    

    程序调试

    性能优化

    分析系统瓶颈
    分析内存瓶颈
    分析IO瓶颈
    分析进程调用
    优化程序代码
        gprof使用步骤
    其它工具
    

    性能优化

    至此,最懵一部分看完了,感觉心里有负罪感,好多东西没学到,好多东西还要去学习,加油吧!!~~~

  • 相关阅读:
    理解Java中字符流与字节流的区别
    程序员常见面试问题(不定期更新)
    软链接 硬链接
    《大数据时代》读后的思考
    mysql——int(size) 中的size表示什么意思
    Access denied for user ''@'localhost' to
    Effective c++——条款03:尽可能使用const
    http——wireshark抓包分析
    vim——vim配置步骤
    正则表达式和通配符
  • 原文地址:https://www.cnblogs.com/ygjzs/p/12177489.html
Copyright © 2011-2022 走看看