码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • GCC编译器


    gcc编译器是很常用的编译器,有固定的命令,这里只说常用的内容。

    CMD窗口执行命令

    查看版本

    gcc --version

    输出.o文件

    -o只是指定输出文件名,不指定的话就用默认名字。

    gcc -c main.c -o main.o

     用.o文件输出静态库.a文件

    $ ar rcs libmain.a main.o

    链接生成可执行文件

    gcc main.c test.c -o main #一步生成可执行文件

    头文件所在目录

    增加头文件有两种方法,常用的是加-I来指定头文件目录。

    1. gcc main.c -I ./inc -o main
    2. #inc包含所有所需文件
    3. #inc是个路径,可以是很多个路径加起来,每个路径前面都要加-I

    编译指定头文件

    1. gcc -llib test.c
    2. #库文件名为lib

    Makefile

    生成.o文件

    1. INC = -I$(INC_DIR)
    2. OBJ_FILES_C = $(OBJ_DIR)/main.o
    3. $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
    4. $(CC) $(INC) $(OPT) -c $< -o $@

    或者这种

    1. $%.o : %.c
    2. $(CC) $< $(CFLAGS)
    3. #CFLAGS里面有-I头文件路径

     用.o文件输出静态库.a文件

    1. $(CURRENT_APPL_NAME).a: $(OBJS)
    2. $(AR) rcs $@ $(OBJS)
    3. #OBJS就是很多个.o文件

    注意事项

    1、不同的芯片或者平台、环境有自己一套独有的编译方法,所以就有针对自身的一套编译工具,不同的编译工具之间是不能混用的。别看RH850芯片里面的gcc跟MinGW32里面的gcc名字是一样的,但是里面的内容千差万别,调用到的dll库文件也不一样。

    譬如用MinGW32里面的gcc去编译RH850的源代码,就会提示下列错误。这中断的使能和使能在MinGW32完全没这概念,它一看到汇编就蒙了。

    2、同一个平台的gcc应该是可以混用的,需要在配置项里面进行配置。

    RH850的芯片就有这么个常规配置,指定cpu型号,估计换个芯片只需要在这里换上新的芯片名字就行。

    COMMONFLAGS =   -cpu=rh850g3kh

  • 相关阅读:
    SPark学习笔记:10 SparkSQL 数据源之Spark on Hive
    基于pig架构的OAuth2学习记录
    用HTML5的<canvas>元素实现刮刮乐游戏
    jQuery学习(一)
    Debian11的基本网络配置工具
    基于springboot实现数码论坛系统设计与实现系统【项目源码+论文说明】
    通过cri-o部署k8s集群环境
    Swin Transformer目标检测实验——环境配置的步骤和避坑
    Java项目:SSM企业工资管理系统
    OceanBase再获OSCAR两项大奖,坚定开源开放
  • 原文地址:https://blog.csdn.net/qiu421/article/details/134282970
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号