新建一个普通用户xx,在家目录中完成以下操作。 编写一段输出自己姓名拼音的name.c (用变量打印),编写Makefile文件,使用make命令执行Makefile.文件分步生成可执行程序,修改name.c增加输出学号的打印,使用make命令再次运行。
时间: 2024-10-19 13:02:46 浏览: 20
首先,我们需要创建一个新的普通用户`xx`。这通常是在Linux系统中通过`useradd`命令完成的:
```bash
sudo useradd -m xx
```
这里 `-m` 表示为新用户创建一个主目录。
接着,我们将为`xx`用户创建一个名为`name.c`的源文件,内容如下,用于输出姓名的拼音:
```c
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main() {
setlocale(LC_ALL, ""); // 设置本地化环境以获取正确的拼音
char name[] = "xx";
const char *pinyin_name = "赵晓"; // 假设xx的拼音是赵晓,实际需要动态转换
printf("姓名:%s\n", pinyin_name); // 输出姓名拼音
return 0;
}
```
接下来,创建一个`Makefile`文件,使用`cc`作为默认编译器:
```makefile
CC = gcc
CFLAGS = -Wall -g
all: name
name: name.c
$(CC) $(CFLAGS) -o name name.c
clean:
rm -f name
.PHONY: clean all
```
然后,给`xx`用户赋予执行权限,并切换到该用户的家目录:
```bash
su xx
cd ~
```
现在,你可以使用`make`命令编译并执行`name.c`:
```bash
make
./name
```
如果你想让程序也输出学号,可以在`name.c`里添加对学号的声明和处理,例如:
```c
int student_id = 202201; // 假设学号为202201
printf("学号:%d\n", student_id);
```
再次执行`make`命令,会更新编译后的程序,并显示新的内容。记得在每次修改后重新编译:
```bash
nano name.c 或者 vim name.c // 编辑name.c
make
./name
阅读全文