Ubuntu系统使用gcc编译c程序
在虚拟机上写一个Hello World程序
Ubuntu环境配置
虚拟机软件:Vmware
系统版本:Ubuntu 18.04
安装好Vmware和Ubuntu 18.04的映像文件之后,打开Vmware,选择左上角新建虚拟机,选择下载好的映像文件;
之后设置好这些参数即可;新建好虚拟机之后选择它并启动,等待一会儿就会出现登录界面,用户密码是在上一步自己设置好的;
使用root 用户登录
使用安装时创建的账号登录
执行命令 sudo passwd root
系统提示: [sudo] password for xxx: , 是要你输入 xxx这个账号的密码, 输入后回车
接着提示: New password: , 是要你输入root用户的密码,输入你要设置的密码后回车
接着提示: Retype new password: , 是要你再次输入root用户密码确认,再次输入后回车
如果出现 passwd: password updated successfully 表示设置root密码成功, 后面就可以使用 root 账号登录了。
执行命令 su - root
表示要从当前账号切换到root账号登录, 然后输入刚设置的root账号密码,即可登录。
使用vi编写一个hello.c文件
这里我已经写好了
hello.c
#include <stdio.h>
int main(void){
printf("Hello World!");
return 0;
}
编辑并保存好文件之后我们需要把hello.c编译成可执行文件,我们使用指令:
gcc hello.c -o hello
然后输入ls
指令查看所有文件,可以看到这里除了hello.c之外多了一个hello文件
然后使用指令
./hello
就可以输出Hello World了
调用自定义头文件
编写sub1.c
#include "sub1.h"
/*******************/
/* 参数:a,b */
/* 返回值:ans */
/*******************/
float x2x(int a,int b)
{
float ans;
ans=(float)b/a;
return ans;
}
编写sub1.h
#ifndef __SUB1_H
#define __SUB1_H
#include<stdio.h>
float x2x(int a,int b); //计算b除以a的结果
#endif
编写main1.c
#include"sub1.h"
int main()
{
int x=2,y=9; //定义x和y变量
printf("%.2f\n",x2x(x,y)); //输出处理后的值,保留两位小数
return 0;
}
gcc直接编译
步骤一
命令:gcc -c sub1.c
作用:将sub1.c程序转换为目标文件sub1.o
步骤二
命令:gcc main1.c sub1.o -o main1
作用:编译main1.c文件为目标文件main1.o,然后链接sub1.o目标文件生成main1可执行文件
步骤三
执行./main1
命令,即可执行编译生成的main1程序
在Windows下编译运行main1.c
我选择的IDE是VScode
需要注意的是我们需要安装MinGW编译器,可以从sourceforge的mingw项目上下载64位的编译器
安装好之后需要设置一下环境变量
我这里是放在D:\mingw64路径下面的,找到这个路径下的bin文件,添加到环境变量中
然后需要在VScode的插件上配置一下,可以使用快捷键Ctrl+Shift+P,选择这一项
在这里设置好编译器的路径,比如我这里是:D:\mingw64\bin\g++.exe
这个路径里面的文件就在这里,之前安装的mingw64里面
之后点击运行就可以了
参考文章:
1.VSCode配置C/C++环境
2.Ubuntu系统使用gcc和Makefile编译C程序