Linux笔记

    1. linux下载源的指定.目录为/etc/yum.repos.d/Centos-Base.repo

    修改其中的url即可,最后执行,yum clean all;yum makecache;yum update;

     

    1. ifconfig命令not found.一般是环境变量没有配置好

    修改如下:export PATH=$PATH:/sbin

     

    1. Centos安装命令:yum install xxxx.

    例如:安装g++环境,yum install gcc-c++;

    安装rz,sz,yum install lrzsz;

     

    1. tar解压命令:

    tar -xf filename

    tar -cvzf xxxx.tat xxx(目录)

     

    1. C++/C头文件和库文件的设置:home目录下的.bashrc进行修改.如下:

    /home/wanghui/.bashrc.其中,C_INCLUDE_PATH c的头文件目录;

    CPLUS_INCLUDE_PATHC++头文件目录;LD_LIBRARY_PATH为动态链接库;LIBRARY_PATH为静态链接库

    例子如下:

    # User specific aliases and functions

    #c

    export C_INCLUDE_PATH=/home/wanghui/lib/hpr/hpr/include/:$C_INCLUDE_PATH

    #cpp

    export CPLUS_INCLUDE_PATH=/home/wanghui/lib/hpr/hpr/include/:$CPLUS_INCLUDE_PATH

    #ld

    export LD_LIBRARY_PATH=/home/wanghui/lib/hpr/hpr/linux/64/:$LD_LIBRARY_PATH

    #sld

    export LIBRARY_PATH=/home/wanghui/lib/hpr/hpr/linux/64/:$LIBRARY_PATH

     

    1. 使动链接库生效的方式:修改/etc/ld.so.conf配置文件,加入自定义的链接库路径即可.最后,运行/sbin/ldconfig -v; 启动生效.

     

    1. Ctrl+z切换到后台,fg %d把后台进程1,切换到前台;

    Jobs查看后台进程

     

    1. g++ 的参数含义:
      1. -c 编译/汇编到目标代码,不进行连接,即生成目标文件(.o)
      1. -o 生成可执行的程序,期间如果需要链接动态库,需要加上-l
      1. -l 链接上动态链接库

     

    1. 关于vim的基本操作:
      1. yy复制一整行
      1. dd剪切一整行
      1. p粘贴
      1. u撤销

     

    1. 关闭防火墙:

    service方式: service iptables start //开启

                            service iptables stop //关闭

    iptables方式:/etc/init.d/iptables stop

    /etc/init.d/iptables start

     

    1. 删除带特殊字符的文件: ls -ilrt; find -inum xxxxx -exec rm '{}' \;

     

     

    1. linux一般默认有设置最大的连接数量,可以通过修改open file的个数来增大数量.操作如下:

    ulimit -a 查看open files的个数

    Vi /etc/security/limits.conf 进行修改配置,在最后一行添加

    • Soft nofile 32768
    • Hard nofile 32768
    • 设置完后,重新启动系统.

     

    1. 查看端口是否被占用: netstat -apn | grep xxxx

     

    1. 生成静态库的方法: ar crv libxxx.a yyy.o

    主要是通过 .o文件来生成静态库

     

    1. 使用静态库的方法

    在编译的时候加上 -L. -lxxx;

    -L表示指定lib库文件的搜索路径

    -lxxx表示指定的lib库名称

    -I 表示头文件目录

     

    1. error while loading shared libraries的解決方法

    那就表示系统不知道xxx.so 放在哪个目录下。

    這个時候就要在/etc/ld.so.conf中加入xxx.so所在的目录。

     一般而言,有很多so檔會在/usr/local/lib這個目錄下,所以在/etc/ld.so.conf中加入/usr/local/lib這一行,可以解決此問題。

      /etc/ld.so.conf存檔後,還要執行「/sbin/ldconfig –v」來更新一下才會生效。

     

    1. makefile中的几个常用符号

    $@ 目标文件

    $^   所有的依赖文件

    $<   第一个依赖文件

     

    1. LIBRARY_PATH环境变量:指定程序静态链接库文件搜索路径

    LD_LIBRARY_PATH环境变量:指定程序动态链接库文件搜索路径

    1. 查看目录结构 tree

    1,静态库是怎么生成的?

    答:.o文件打包生成的。

     

    2.o文件编译需要依赖定义吗?

    答:不需要

     

    3,动态库是怎么生成的?

    答:.o文件链接生成的。根据2可知必须在链接时指定外部动态库。

     

    4,使用静态库怎么用?

    答:直接当作一堆.o参与链接即可,如果某.o依赖外部定义,此时链入即可。

     

    5,使用动态库怎么用?

    答:包含头文件编译自己的源码生成.o,链接时引入动态库提供定义。

     

    6,动态库A还依赖动态库B,会影响使用动态库A的程序吗?

    答:不会,程序只要链入动态库A即可,动态库A已经链接过,它知道去哪里找自己需要的B

     

    1. 动态库中调用静态库时,静态在编译的时候需要加上-fPIC
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值