linux中分步编译链接代码的操作问题

实验一:

  1. 用C语言编写程序main1.c,输出Hello World!到屏幕上。
  2. 编写run.sh,依次执行编译main.c命令 和 执行生成的执行文件。
    审核要求:
  3. 完成main1.c和run.sh文件编写
  4. main1.c文件可编译,并通过gcc命令生成可执行文件main1,具体命令写在run.sh中
  5. 提交全部程序代码或者指令文件,代码思路规范清晰,命名规范。
  6. 运行sh run.sh,能直接输出所要求的结果。

实验二:

  1. 分别编写两个程序,第一个程序与任务一的main1.c相同
  2. 编写第二个程序main2.c中,部分内容采用宏定义实现,如输出的字符串采用宏定义实现
  3. 执行gcc 预编译命令,分别获得main1.i和main2.i文件
  4. 查看.i文件
    审核要求:
  5. 完成main1.c、main2.c和run.sh文件编写
  6. main1.c、main2.c文件可编译,并通过gcc命令生成预编译后的文件main1.i和main2.i
  7. 提交全部程序代码或者指令文件,代码思路规范清晰,命名规范。
  8. 运行sh run.sh,能直接输出所要求的结果。

实验三:

  1. 编写hello world程序
  2. 执行gcc相关命令,生成汇编代码文件main.s,通过gcc --help可以查找到生成汇编文件的命令
  3. 查看main.s
  4. 以上命令均写在run.sh文件中
    审核要求:
  5. 提交全部程序代码或者指令文件,代码思路规范清晰,命名规范。
  6. 运行sh run.sh,能直接输出所要求的结果。

实验四:

  1. 编写hello world程序
  2. 执行gcc相关命令,生成目标代码文件main.o,通过gcc --help可以查找到生成汇编文件的命令
  3. 查看main.o
  4. 以上命令均写在run.sh文件中
    审核要求:
  5. 提交全部程序代码或者指令文件,代码思路规范清晰,命名规范。
  6. 运行sh run.sh,能直接输出所要求的结果
  1. 用C语言编写程序main1.c,输出Hello World!到屏幕上。
    #include<stdio.h>
    int main(){
    		 printf("Hello world!\n");
    }
    gcc  main1.c -o main1

     

  2. 分别编写两个程序,第一个程序与任务一的main1.c相同
    #include<stdio.h>
    #define string "Hello world!"
    int main(){
    			printf("%s\n",string);
    }
    gcc -E  main1.c  -o main1.i
    gcc -E main2.c -o main2.i

    实验三:

  3. 编写hello world程序执行gcc相关命令,生成汇编代码文件main.s,通过gcc --help可以查找到生成汇编文件的命令

    gcc -E main1.c -o main1.i
    gcc -S main1.i -o main1.s

    实验四:

  4. 编写hello world程序
  5. 执行gcc相关命令,生成目标代码文件main.o,通过gcc --help可以查找到生成汇编文件的命令
    gcc -E main1.c -o main1.i
    gcc -S main1.i -o main1.s
    gcc -c main1.s -o main1.o