加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

面试高频问答:怎么在Linux下编译C程序

发布时间:2022-10-24 14:54:13 所属栏目:Linux 来源:
导读:  Windows下常用IDE来编译,Linux下直接使用gcc来编译,编译过程是Linux嵌入式编程的基础linux编译器,也是嵌入式高频基础面试问题。

  【文章福利】小编推荐自己的Linux内核源码交流群:【869634926】整理了
  Windows下常用IDE来编译,Linux下直接使用gcc来编译,编译过程是Linux嵌入式编程的基础linux编译器,也是嵌入式高频基础面试问题。
 
  【文章福利】小编推荐自己的Linux内核源码交流群:【869634926】整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!!!前50名可进群领取,并额外赠送一份价值600的内核资料包(含视频教程、电子书、实战项目及代码)!
  命令行编译及各个细分编译过程
 
  hello.c示例代码:
 
  #include
 
  int main(void)
 
  {
 
   printf("Hello world\n");
 
   return 0;
 
  }
 
  编译:
 
  gcc hello.c -o hello

  如有必要,还需回答出细分的几个步骤:
 
  gcc -E hello.c -o hello.i  # 预处理阶段
 
  gcc -S hello.i -o hello.s  # 编译阶段
 
  gcc -c hello.s -o hello.o  # 汇编阶段
 
  gcc hello.o -o hello       # 链接阶段
 
  借助make来编译
 
  少量文件时可以使用上面方法编译。源码文件较多时,可借用make工具。make通过解析Makefile文件来执行一些gcc命令进行编译。首先得创建一个Makefile文件,如:
 
  hello:hello.c
 
          gcc hello.c -o hello
 
  编译运行:
 
  上面更细分编译过程的Makefile文件如下:
 
  借助CMake生成Makefile
 
  实际开发很少会像上面一样自己编写Makefile文件,可借助cmake工具来生成。CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。
 
  CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。
 
  1、命令行操作
 
  首先输入cmake --version命令查看cmake版本,若还没安装则执行如下命令安装:
 
  sudo apt install cmake

  下面开始实验演示。我们的cmake_test文件夹下有一个hello.c文件,在同文件夹下创建一个CMakeLists.txt文件:
 
  输入如下内容:
 
  cmake_minimum_required (VERSION 3.10.2)
 
  project (cmake_test)
 
  add_executable(cmake_test hello.c)
 
  然后在cmake_test目录下依次输入如下命令生成Makefile文件:
 
  mkdir build  # 创建build文件夹
 
  cd build     # 进入build文件夹
 
  cmake ../    # 在cmake_test文件夹下生成Makefile
 
  执行结果如下:
 
  关于CMakeLists.txt文件具体语法感兴趣的朋友可自行查阅资料进行学习。
 
  2、使用cmake-gui
 
  上述是在命令行下使用cmake生成Makefile进行进行编译的方法。我们也可以使用图形化界面来生成Makefile文件。cmake-gui是cmake的一个图形化工具。
 
 

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!