嵌入式C编译工具:gcc/make/Autotools/cmake

目录

  • 前言
  • Autotools
  • cmake
  • gcc

前言

  1. gcc时GNU编译套件,一种编译器,可以编译c,c++,java等语言。当只有一个文件时,使用gcc编译器就很方便,但是当有多个文件时,编译顺序以及包含关系等使用gcc很麻烦。

  2. make工具:make就相当于一个智能的批处理工具,通过调用makefile实现编译,在makefile规定编译以及链接的顺序,在makefile中也调用了gcc,makefile中定了规定编译以及链接顺序的语法,比你直接用gcc逐个文件编译更加更方便,简单。makefile在一些简单的工程中,手工写可以实现,但当工程量较大时,手写也很麻烦。

  3. Autotools: automake 属于第二代工具,开发的话尽量转到最新的构建工具吧,目前最新的构建工具应该是cmake和scons。不少开源项目仍在使用,因为常有三个步骤,被戏称为configure,make,make install三部曲。

  4. cmake: 解决手写makefile麻烦,使用cmake可以更加简单的生成makefile,然后使用make编译,而且cmake能够跨平台生成makefile,但仍需要手写一个CMakelist.txt文件。

Autotools

路径变量/配置变量:https://blog.csdn.net/qq_27870421/article/details/99621737
若不存在configure,通常可以通过./autogen 生成。

# 示例, 若不指定prefix则默认放在/usr/local
./configure --prefix=/usr CC=gcc-3 CPPFLAGS=-I$HOME/usr/include LDFLAGS=-L$HOME/usr/lib
make 
make install

cmake

cmake practice:https://blog.csdn.net/weixin_44543463/article/details/120251048
gRPC示例

export MY_INSTALL_DIR=$HOME/.local
export PATH="$MY_INSTALL_DIR/bin:$PATH"
cd grpc
mkdir -p cmake/build
pushd cmake/build
# 同样,若不指定prefix则默认是在 /usr/local
cmake -DCMAKE_INSTALL_PREFIX=$MY_INSTALL_DIR ../..
make -j
make install
popd

gcc

  • 头文件/库搜索顺序
    https://blog.csdn.net/yun6853992/article/details/123692586

  • 编译选项:-c / -o
    https://blog.csdn.net/weixin_42617472/article/details/125820410

  • 动/静态库的制作和使用:
    https://blog.csdn.net/weixin_71478434/article/details/126588174

  • IAR中查看map文件:Messages信息框中,单击鼠标右键选择All
    程序占用 Flash = Code + RO data + RW data
    程序运行时候占用 RAM = RW data + ZI data
    https://blog.csdn.net/qq_33155449/article/details/125652731
    详细版:https://zhuanlan.zhihu.com/p/529006344?utm_id=0

  • 计算机启动:
    http://www.ruanyifeng.com/blog/2013/02/booting.html

你可能感兴趣的:(C/C++,c语言)