Linux——gcc

1.执行详解


1)如何执行


路径+可执行文件名 或者 路径+可执行文件名 & (将进程放到后台执行);
可以把可执行文件放到 /usr/bin 就可以省略路径了;
思考:为什么?
ps :/usr/bin ps,ls,pwd  (先了解,后期写项目就知道为什么了


2)两步执行与一步执行


a.可以三步合为一步,即不经过预编译,编译,汇编三步,直接一步生成.o文件: gcc -c main.c -o main.o gcc -o main main.o

gcc -c main.c(只编译,看有没有语法错误);工作中常用
b.可以四步合为一步: gcc -o main main.c


3)多文件的编译执行


先写如下三个文件: add.c max.c main.c

//add.h
int add(int x,int y);

//add.c
int add(int x,int y)
{
    return x+y;
} 

//max.h
int max(int x,int y);

//max.c
int max(int x,int y)
{
     return x>y?x:y;
} 


//main.c
#include <stdio.h>
#include "./max.h"
#include "./add.h"
int main()
{
    int a=10;
    int b=20;
    printf("a+b=%d\n",add(10,20));
    printf("a,b的最大值为%d\n",max(10,20));
    return 0;
}

如何执行呢?
两步执行:
gcc  -c  main.c
gcc  -o main main.c  add.c  max.c
gcc  -o main main.c (error)
一步执行:gcc  -o main main.c  add.c  max.c

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 22:04:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 22:04:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 22:04:03       87 阅读
  4. Python语言-面向对象

    2024-04-08 22:04:03       96 阅读

热门阅读

  1. 【LeetCode热题100】33. 搜索旋转排序数组(二分)

    2024-04-08 22:04:03       32 阅读
  2. Flutter 单例模式的多种实现方法与使用场景分析

    2024-04-08 22:04:03       32 阅读
  3. 为什么要在 Golang 中使用指针

    2024-04-08 22:04:03       40 阅读
  4. 从零开始实现一个RPC框架(三)

    2024-04-08 22:04:03       34 阅读
  5. 加固系统安全,防范ssh暴力破解

    2024-04-08 22:04:03       35 阅读