zoukankan      html  css  js  c++  java
  • linux命令使用

    1.生成core dumped文件   

    ulimit -c unlimited

    gdb -c core.10783 Gamex 

     

    2. Linux解决libstdc++的版本问题

     

    strings /usr/lib64/libstdc++.so.6 | grep GLIBC


    # 查找库文件
    # find / -name libstdc++.so.6.0.21

    # 如果libstdc++.so.6.0.21库文件已存在,则按照下面的步骤创建软链接即可
    # 如果libstdc++.so.6.0.21库文件不存在,则需要按照下面的步骤编译新版本的GCC,然后再创建软链接




    # 下载文件(117M)
    # wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2

    # 解压文件
    # tar -xvf gcc-5.2.0.tar.bz2

    # 进入解压目录
    # cd gcc-5.2.0

    # 下载编译gcc所需的依赖文件和库
    # ./contrib/download_prerequisites

    # 建立输出目录,用于存放编译时所有产生的中间文件
    # mkdir gcc-temp

    # 进入输出目录
    # cd gcc-temp

    # 执行configure配置
    # ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

    # 编译gcc,指定编译使用的线程数为8,编译耗时较长,可能需要几个小时
    # make -j8

    # 这里为了避免影响系统的稳定性,暂时不执行"make install"和替换系统默认版本的gcc






    # 进入输出目录
    # cd gcc-temp

    # 查找编译生成libstdc++.so库文件,下面查找到的libstdc++.so、libstdc++.so.6都只是软链接文件,libstdc++.so.6.0.21才是真正编译生成的库文件
    # find . -name "libstdc++.so*"
    ./prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
    ./prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
    ./prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21
    ./stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
    ./stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
    ./stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21
    ./x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
    ./x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
    ./x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21

    # 拷贝libstdc++.so.6.0.21库文件到lib64目录
    # cp ./x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 /usr/lib64

    # 进入lib64目录
    # cd /usr/lib64

    # 删除旧的链接文件
    # rm -f libstdc++.so.6

    # 创建新的链接文件
    # ln -s libstdc++.so.6.0.21 libstdc++.so.6

    # 查看最终的libstdc++.so库文件列表
    # ls -al /usr/lib64/libstdc++.so.6*
    lrwxrwxrwx. 1 root root 19 3月 12 10:08 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.21
    -rwxr-xr-x. 1 root root 991616 10月 30 14:39 /usr/lib64/libstdc++.so.6.0.19
    -rwxr-xr-x. 1 root root 11485880 3月 12 10:01 /usr/lib64/libstdc++.so.6.0.21




    strings /usr/lib64/libstdc++.so.6 | grep GLIBC


    3.重装protobuf

    yum remove protobuf
     ./configure CXX=/usr/gcc-4.8.5/bin/g++ --prefix=/usr/local/protobuf
    $./configure --prefix=/usr/local/protobuf
    $ sudo make -j8
    $ sudo make check
    $ sudo make install


    sudo vim /etc/profile



    ####### add protobuf lib path ########
    #(动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
    #(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
    export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
    #执行程序搜索路径
    export PATH=$PATH:/usr/local/protobuf/bin/
    #c程序头文件搜索路径
    export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
    #c++程序头文件搜索路径
    export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
    #pkg-config 路径
    export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
    ######################################



    source /etc/profile
    echo $LIBRARY_PATH

    protoc --version

    sudo ldconfig



    4.文件编辑

    find -name "*database/Databases.cpp*"
    vim ./engine/database/Databases.cpp

    linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.

    
    

    例子:将目录A重命名为B

    
    

    mv A B

    
    

    例子:将/a目录移动到/b下,并重命名为c

    
    

    mv /a /b/c

     
  • 相关阅读:
    redis整合springboot
    安装k8s
    线程池工具类几种实现
    数据库mysql注意点及sql优化
    五年规划
    在 Ubuntu 16.04 安装ROS Kinetic 教程
    谈谈form-data请求格式 js
    C# Body为form-data file文件上传至第三方接口 http请求
    .net c# 使用form-data方式发起http请求
    使用form-data和raw作为body发起POST请求的区别
  • 原文地址:https://www.cnblogs.com/spruce/p/12071411.html
Copyright © 2011-2022 走看看