gcc编译链接C代码


实验平台

1. MinGW
2. notepad...

步骤

  • 下载安装mingw,并配置环境变量
    1. ..\MinGW\bin
    2. ..\MinGW\include
    3. ..\MinGW\lib
    4. (上面那些其实都是根据感觉走的,应该是要用到的吧…)
  • 编写程序

    #include<stdio.h>
    int main()
    {
    int a = 1;
    printf("hello world\n");
    return 0;
    
    }
    

生成dll文件

  • 命令行将目录改为程序文件夹目录

    CD C:\test

  • 开始生成dll文件

    gcc -shared -o test.dll test.c

    test.c是要编译的C程序

简单gcc命令行

  1. 无选项编译链接

    gcc test.c

    将test.c预处理、编译、链接,并输出一个a.exe的可执行文件

  2. -o选项

    gcc test.c -o test.exe

    将test.c预处理、编译、链接,并输出一个test.exe的可执行文件

  3. -E选项

    gcc -E test.c -o test.i

    将test.c预处理输出test.i文件(输出的文件名和后缀均可以任意指定虽然输出的文件可以用记事本打开,但是其他的后缀的文件无法链接=。=)

  4. -S选项

    gcc -S test.i

    将预处理输出文件test.i汇编成test.s文件

  5. -c选项

    gcc -c test.s

    将汇编输出文件test.s编译输出test.o文件
    (我把后面的test.s改为了test.o,也可以生成相同的test.o文件)

  6. -O选项
    gcc -O1 test.c -o test

    使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长;输入./test执行程序

  7. 运行程序

    ./test

多文件编译

  • 同时编译、链接、生成可执行文件

    test.c代码如下

    `//test.c
    #include<stdio.h>
    extern int flag;
    int main()
    {
    int a = 1;
    printf("hello world\n");
    printf("%d\n",flag);
    return 0;
    }`
    

    test2.c代码如下

    #include<stdio.h>
    int flag = 200;//为了观察是否成功调用
    

命令行编译如下
gcc -test.c test2.c -o test

得到名为test.exe的可执行文件

* 分别编译、链接
gcc -c test2.c
gcc -c test.c
gcc test.o test.o -o test
* 执行.\test查看可执行文件输出
* 以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

littletomatodonkey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值