项 目 | 内容 |
---|---|
这个作业属于哪个课程 | 课程链接 |
这个作业要求在哪? | 作业要求 |
学号-姓名 | 17043115-李映霁 |
作业学习目标 | 1. 了解Linux系统C语言编程环境 2. 学习Linux环境C语言开发步骤 |
1.安装C语言开发环境
sudo apt install build-essential
1.1 查看gcc版本
gcc -v
1.2 查看make版本信息
make -v
2.简单的C语言练习
1)通过man命令来查看帮助文档
man gcc
2)命令行模式简单C语言编译连接等操作
mkdir exp4
cd expr/
ls
vim test1.c
a)预编译
b)编译
c)汇编
查看汇编文件
objdump -d test.o
d)链接
查看汇编文件
objdump -d test
e)运行
3)多文件编译
在exp4下建立文件夹mfc
在mfc下建立5个文件,分别为
main.c
my1.h
my1.c
my2.h
my2.c
分别在5个文件中输入下列内容
main.c
#include "my1.h"
#include "my2.h"
int main(int argc,char* argv[])
{
my1_print("hell0 lyj");
my2_print("hello 17043115");
return 0;
}
my1.h
#ifndef _MY_1_H
#define _MY_1_H
void my1_print(char* print_str);
#endif
my1.c
#include "my1.h"
#include<stdio.h>
void my1_print(char* print_str)
{
printf("This is my1 print %s
",print_str);
}
my2.h
#ifndef _MY_2_H
#define _MY_2_H
void my2_print(char* print_str);
#endif
my2.c
#include "my2.h"
void my2_print(char* print_str)
{
printf("This is my2 print %s
",print_str);
}
一次编译生成可执行文件
两种方法的区别
一次生成可执行文件,在生成过程中不会生成其他中间文件,比如main.o,my1.o;而多次生成可执行文件,会在相应过程中生成中间文件
编写一个简单的Makefile:
操作如下图