0
点赞
收藏
分享

微信扫一扫

嵌入式C语言语法概述

文章目录

1. GCC使用以及常用选项

1.1 GCC概述

GCC就是一个c语言编译器,让机器读GCC懂你写的那些乱七八糟的代码,或者给你报错,让你心烦!

1.2. C语言编译过程

| GCC版本:5.4.0

语法格式:

gcc [参数] [源文件]

常用参数:

参数内容
-o指定生成的输出文件
-E仅执行编译预处理
-S将C代码转换为汇编代码
-wall显示警告信息
-c仅执行编译操作,不进行连接操作

参考指令
无选项编译文件:生成文件名默认为a.out

[root@linux ~]# gcc linux.c

预处理:生成文件后缀为.i

[root@linux ~]# gcc -E linux.c -o linux.i

编译:将代码转换为汇编语言,文件后缀为.a

[root@linux ~]# gcc -S linux.i -o linux.a 

汇编:转换为二进制文件,仅编译不连接

链接:转换为可执行文件

[root@linux ~]# gcc -o linux linux.c

1.3 C语言常见错误

  1. 头文件引用:#include < >系统里面找 | #include" "文件里面找;
  2. 编译错误如:中文分号

1.4 预处理的使用

  1. 条件预处理
  2. 宏(替换:不进行语法检测)
  3. #ifdef #else #endif
  4. 预定义宏
  5. 宏展开下的#,##
    # 字符串化
    ##链接符号

2. C语言常用关键字及运算符操作

2.1 关键字

关键字就是编译器预先定义了一定意义的字符串,读到**;**后结束;

  1. 数据类型

    C语言操作对象:资源/内容(内存类型的资源,LCD缓存、LED灯(IO));
    C语言描述资源属性:资源的大小,限制内容资源的大小工具是关键字;
    硬件芯片最小单位为:bit;软件最小单位:byte;8 bit==1 byte;

    关键字内容解释
    char字符串大小为1字节
    int整数,字节数跟编译器有关
    long,short长整型,短整型
    unsigned,signed无符号数,有符号数
    float,double单精度浮点数4字节,双精度浮点数8字节
    void空,内存限制符号
  2. 自定义

    关键字内容解释
    struct结构,元素之间的和
    union共用体,公用起始地址
    enum枚举,自增(可怜的关键词)
    typedef重定义(起外号),方便阅读
  3. 逻辑结构

    关键字内容解释
    if,else条件结构
    switch,case,default多分支结构
    do,while,for循环结构
    continue,break,goto跳跃结构
  4. 类型修饰

    对内存资源存放位置的限定,资源属性中位置的限定,对嵌入式开发较为重要。

    关键字内容解释
    auto自动变量
    register限制变量定义在寄存器上的修饰符
    static静态变量
    extern外部申明
    const常量的定义(只读的变量)
    volatile告知编译器编译方法的关键字,并不优化编译
  5. 杂项

关键字内容解释
sizeof编译器查看内存空间容量的关键字工具,并不是函数
return返回

2.2 运算符

  1. 算数操作运算符

    加法+,减法 -,乘法 *,除法 /,取余%

  2. 逻辑运算符

    逻辑或||,逻辑与&&

    大于>,小于<,大于等于>=,小于等于<=,等于==

    !为真,~取反

  3. 位运算

    <<左移(乘法*2),>>右移(除法/2);

    &与操作(屏蔽作用,清零器),|或(取出作用,保留),^ 异或(相同为假,不同为真)

  4. 赋值运算

    =赋值与

    +=-=&=

  5. 内存访问符号

    ()限制符,函数符,

    []数组,内存访问ID符号,

    {}函数体,

    ->地址访问,.变量访问

    &取地址,*指针

2.3 逻辑操作

->地址访问,.变量访问

&取地址,*指针

引用内容

以上内容参考链接:

https://www.linuxcool.com/gcc.

举报

相关推荐

0 条评论