zoukankan      html  css  js  c++  java
  • linux平台下环境变量的使用


    linux平台下环境变量的使用

    //------------------------------------------增
    for temporary(just effect current bash)
    example:
    export NUM="One"

    //------------------------------------------删
    example:
    unset NUM

    //------------------------------------------改
    example:
    export NUM=$NUM:Two or
    export NUM=Two:$NUM

    //------------------------------------------查
    获取当前整个环境变量
    env

    查找某个环境变量的值, 比如NUM
    echo $NUM

    注: 以上均为临时生效, 离开当前bash环境就失效, 如果要永久生效, 需要将
    export name=value 写入/etc/profile或用户目录下的.bashrc或.profile重启生效,
    或用source file的方式即时生效.

    linux生成目标文件,静态库和动态库

    一. 生成目标文件
    gcc -c *.cpp [-IincludeDir] [-LlibDir] [-llibName] [-o objName.o]

    1. -iincludeName 包含头文件, 相当于代码中的#include "includeName"
    2. -IincludeDir 包含头文件目录
    3. -llibName 链接库文件
    4. -LlibDir 链接库文件目录
    5. -static 禁用动态库


    一. 静态库: 链接时将目标文件用到的静态库函数(如果静态库用到了其它动态库函数)或变量嵌入到目标文件,
    目标文件将不再依赖静态库
    ar -rc libmylib.a *.o

    二. 动态库:

    gcc -fPIC --shared *.o -o libmylib.so

    三. 生成可执行文件

    gcc main.cpp *.cpp [-IincludeDir] [-LlibDir] [-llibName] [-static] [-Wl,-rpath=runlibpath] [-o outLibName.o]

    由源代码到可执行文件的过程
    gcc main.c b.c a.c -o a.out中间经历了几个过程, 就像经过一条流水线, 经历了几道工序对应着几套设备, 分别为
    1. 预处理器, 宏和头文件替换, gcc -E 生成xxx.i(c语言)和或xxx.ii(c++语言)文件
    2. c编译器, 将c语言转换为汇编语言, gcc -S 生成xxx.s文件
    3. 汇编器, 将汇编语言转换为二进制目标文件, gcc -c 生成xxx.o文件
    4. 连接器,

    注: 中间产生的错误, 主要发生在.i -> .s(即c代码转汇编代码)和链接的过程中.
    编译错误主要是语法错误和符号(变量名, 函数名)错误,

  • 相关阅读:
    linux在线安装jdk,tomcat,Nginx
    SpringAOP的实现方式
    Spring整合Mybatis
    基本sql语句
    解决No module named 'sklearn.cross_validation'
    虚拟机中安装redhat8操作系统
    【Linux命令】tcpdump抓包工具
    【Nodejs】Linux系统搭建Nodejs
    【SSL证书配置】tomcat实现SSL证书访问
    【SSL证书配置】腾讯云申请ssl证书,nginx+tomcat配置ssl证书
  • 原文地址:https://www.cnblogs.com/endenvor/p/12762427.html
Copyright © 2011-2022 走看看