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使用步骤
    其它工具
    

    性能优化

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

  • 相关阅读:
    C++ Toolkit zz
    开发人员实际在用哪些工具 zz
    Page.RegisterClientScriptBlock和Page.RegisterStartupScript有何区别?
    动态网址与静态网址
    DIV垂直居中 (转)
    JS网页打印设置技巧(
    谈*静态页*(或网页*静态化*)的时候,请区分一些概念(转)
    添加新增 删除旧的 避免id自增过多
    浅谈CSRF攻击方式(转)
    简单的角色权限管理
  • 原文地址:https://www.cnblogs.com/ygjzs/p/12177489.html
Copyright © 2011-2022 走看看