HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    gcc链接详细参数(gcc 链接命令)

    发布时间:2023-04-13 23:40:04     稿源: 创意岭    阅读: 65        

    大家好!今天让创意岭的小编来大家介绍下关于gcc链接详细参数的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解SEO相关业务请拨打电话175-8598-2043,或添加微信:1454722008

    本文目录:

    gcc链接详细参数(gcc 链接命令)

    一、怎么在命令行里用gcc去编译连接一个程序?

    你的说法本身就有问题,gcc编译的时候只能去链接 其他依赖文件和库(静态库/动态库)

    动态库:.so结尾,在运行时加载。

    静态库:.a结尾,在编译时加载。

    例如编译hello.c 输出hello可执行文件

    链接静态库:

    gcc hello.c -L /home/lib -static -l mylib -o hello

    -L参数可以向gcc的库文件搜索路径中添加新目录

    -static选项强制使用静态链接库

    -l mylib -l后面是要静态连接的库(libhellos.a)

    链接动态库:

    gcc -o hello hello.c -L. -lhello

    -L后面的点为当前目录

    -lhello 是去链接libhello.so

    二、GCC编译器的参数与空格

    按照INSTALL中的介绍,也是常用的方法,在configure的时候,加上–host=arm-linux,结果没有实现我们要的效果,没有将编译器从默认的

    gcc改成arm-linux-gcc,编译器还是用的默认的gcc:

    [crifan@localhost

    lrzsz-0.12.20]$

    CFLAGS=-O2

    ./configure

    –host=arm-linux

    loading

    cache

    ./config.cache

    ………………..

    checking

    for

    gcc…

    (cached)

    gcc

    checking

    whether

    the

    C

    compiler

    (gcc

    -O2

    )

    works…

    yes

    checking

    whether

    the

    C

    compiler

    (gcc

    -O2

    )

    is

    a

    cross-compiler…

    no

    ………………..

    后来经过多次尝试,最后受默认的

    CFLAGS=-O2

    ./configure

    进行配置所启发,想到,是否可以将CC参数传入到configure中,

    结果证实,如果没有自己的cache-file,即时加了对的CC参数,也还是无法传入:

    [crifan@localhost

    lrzsz-0.12.20]$

    CFLAGS=-O2

    CC=arm-linux-gcc

    ./configure

    –host=arm-linux

    loading

    cache

    ./config.cache

    ………………..

    checking

    for

    gcc…

    (cached)

    gcc

    checking

    whether

    the

    C

    compiler

    (gcc

    -O2

    )

    works…

    yes

    checking

    whether

    the

    C

    compiler

    (gcc

    -O2

    )

    is

    a

    cross-compiler…

    no

    checking

    whether

    we

    are

    using

    GNU

    C…

    (cached)

    yes

    ………………..

    而且,如果CC参数放在configure后面:

    ./configure

    CC=arm-linux-gcc

    则不能识别:

    [crifan@localhost

    lrzsz-0.12.20]$

    CFLAGS=-O2

    ./configure

    CC=arm-linux-gcc

    configure:

    warning:

    CC=arm-linux-gcc:

    invalid

    host

    type

    ………………..

    参数传递必须像

    CFLAGS=-O2

    ./configure

    一样,将参数设置放在configure的前面:

    CC=arm-linux-gcc./configure

    才能识别的。

    必须要自己制定自己的cache-file

    然后用./configure进行新配置,加上CC参数,才会即时生效,编译器才可以变成我们要的arm-linux-gcc:

    [crifan@localhost

    lrzsz-0.12.20]$

    CC=arm-linux-gcc

    ./configure

    –cache-file=cache_file_0

    –prefix=/usr/crifan/lrzsz

    ………………..

    checking

    for

    gcc…

    arm-linux-gcc

    checking

    whether

    the

    C

    compiler

    (arm-linux-gcc

    )

    works…

    yes

    checking

    whether

    the

    C

    compiler

    (arm-linux-gcc

    )

    is

    a

    cross-compiler…

    yes

    checking

    whether

    we

    are

    using

    GNU

    C…

    yes

    ………………..

    否则,就无法将我们的CC参数传入了:

    [crifan@localhost

    lrzsz-0.12.20]$

    CC=arm-linux-gcc

    ./configure

    –prefix=/usr/crifan/lrzsz

    ………………..

    checking

    for

    gcc…

    (cached)

    gcc

    checking

    whether

    the

    C

    compiler

    (gcc

    )

    works…

    yes

    checking

    whether

    the

    C

    compiler

    (gcc

    )

    is

    a

    cross-compiler…

    no

    checking

    whether

    we

    are

    using

    GNU

    C…

    (cached)

    yes

    ………………..

    [crifan@localhost

    lrzsz-0.12.20]$

    CFLAGS=-O2

    CC=arm-linux-gcc

    ./configure

    –cache-file=cache_file_0

    loading

    cache

    cache_file_0

    ………………..

    checking

    for

    gcc…

    arm-linux-gcc

    checking

    whether

    the

    C

    compiler

    (arm-linux-gcc

    -O2

    )

    works…

    yes

    checking

    whether

    the

    C

    compiler

    (arm-linux-gcc

    -O2

    )

    is

    a

    cross-compiler…

    yes

    checking

    whether

    we

    are

    using

    GNU

    C…

    yes

    最好此处在加上–prefix=/usr/crifan/lrzsz,表示具体安装到哪里

    [crifan@localhost

    lrzsz-0.12.20]$

    CFLAGS=-O2

    CC=arm-linux-gcc

    ./configure

    –cache-file=cache_file_0

    –prefix=/usr/crifan/lrzsz

    loading

    cache

    cache_file_0

    ………………..

    checking

    for

    gcc…

    arm-linux-gcc

    checking

    whether

    the

    C

    compiler

    (arm-linux-gcc

    -O2

    )

    works…

    yes

    checking

    whether

    the

    C

    compiler

    (arm-linux-gcc

    -O2

    )

    is

    a

    cross-compiler…

    yes

    checking

    whether

    we

    are

    using

    GNU

    C…

    yes

    ………………..

    其中,/usr/crifan/lrzsz是已经建立好的,已经存在的文件夹,上面这样表示编译后,

    将生成的可执行文件安装拷贝到那个目录.

    三、LINUX下的GCC详细教程,带图片的

    //FileName : hello.c

    #include <stdio.h>

    int main()

    {

    const char * str = "Hello World!";

    return 0;

    }

    标准用法:

    gcc -c hello.c

    ls查看 生成了 hello.c hello.o

    gcc -o hello.o

    ls查看 多了 a.out

    执行: ./a.out

    Hello World

    常用的用法:

    gcc -o hello hello.c

    这样就直接编译链接生成可执行文件hello

    ./hello

    Hello World

    不推荐的用法:

    gcc hello.c

    直接生成a.out

    ./a.out

    Hello World

    GCC的命令参数有一百多条,常用的还有-Wall参数 用于显示忽略的警告

    -pthread 多线程编译 。。。。。。

    可以在命令行下使用 man gcc 查看gcc详细的参数和说明文档

    四、R 包安装的时候,怎么指定gcc的参数

    Mac中的开发工具链都是围绕xcode的,但是对于只想使用gcc,g++编译c/c++代码的情况,装一个xcode实在没有必要。更新:4.3版本的xcode已经将图形开发界面和命令行工具分开了发布了。还有即使装了xcode,默认带的gcc编译器都是lvmm做前端的,并非纯正的gnugcc。如果你想用纯正的gcc,最好的法就是自己手动编译一个。主要有以下方法:1.通过port安装这种方法比较简单,前提是mac上已经安装port了,具体命令:安装最新的gcc48:sudoportinstallgcc48默认的安装目录是:/opt/local/bin/2.通过homebrew安装这种方法比较简单,前提是mac上已经安装homebrew了,具体命令:brewtaphomebrew/versionsbrewinstall[flags]gcc49其中[flags]一些需要支持的语言的桉树,例如–enable-cxx–enable-fortran3.Github参考mentforcleanup…#cd../../..#rm-rtemp-gcc完成后,将在/usr/gcc-4.8.0安装gcc,然后可以创建gcc的软链接或者将bin路径加入到$PAHT变量中

    以上就是关于gcc链接详细参数相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    bingchatGPT中文版(bongo下载)

    aigc和gpt的区别(gpt 和)

    正宗的aigc概念股(ai概念股票)

    找索引擎seo(搜索引擎seo)

    个体工商户营业执照可以过户吗(个体户更换经营者姓名)