Ubuntu中cc++语言简单程序编写以及使用gccg++方式编译简单程序(基础)
Ubuntu中c/c++语言简单程序编写以及使用gcc/g++方式编译简单程序(基础)
这里写目录标题
- Ubuntu中c/c++语言简单程序编写以及使用gcc/g++方式编译简单程序(基础)
- 一、编写hello world入门
- 1、安装vim
- 2、编写简单helloworld程序
- 二、使用gcc编译c/c++简单主/子程序
- 三、window中编写主/子程序
- 1、使用软件
- 2、步骤
- 四、Ubuntu下用makefile方式编写程序
- 1、安装make
- 2、编程
一、编写hello world入门
1、安装vim
在Ubuntu桌面按鼠标右键或者Ctrl+Alt+T打开终端
输入sudo apt-get install vim安装vim
sudo apt-get install vim
2、编写简单helloworld程序
(1) 创建目录helloworld(也可以不创建,就在默认目录下),输入mkdir helloworld
mkdir helloworld
(2) 打开helloworld文件夹
cd helloworld
(3)创建hello.cpp/hello.c文件
vim hello.cpp
(4)输入hello.cpp文件
#include<iostream>
using namespace std;
int main()
{cout<<"hello world!";return 0;
}
(5)编译hello.cpp,输入g++ hello.cpp(默认下生成a.out可执行文件,改变成其他文件名需要在后面加 -o filemame)
g++ hello.cpp
(6) 执行可执行文件a.out
./a.out
(7)输出结果
二、使用gcc编译c/c++简单主/子程序
(1)创建一个main1.cpp文件
vim main1.cpp
(2) 编写一个main1.cpp程序
#include<iostream>
#include"sub1.cpp"
using namespace std;
int main()
{int a,b;a=3;b=6;float c;c=B2B(a,b);cout<<c;return 0;
}
(3) 创建一个sub1.cpp文件
vim sbu1.cpp
(4) 编写一个sub1.cpp程序
#include<iostream>
using namespace std;
float B2B(int a,int b)
{float d;d=a+b;return d;
}
(5) 编译main1.cpp/main1.c程序
编译main1.cpp程序使其转化为名为main2的可执行文件
g++ main1.cpp -o main2
编译main1.c程序使其转化为名为main1的可执行文件
gcc main1.c -o main1
(6) 执行main2可执行文件
./main2
或者./main1
(7) 执行结果
c++下:
c下:
三、window中编写主/子程序
1、使用软件
visual studio2019
2、步骤
(1)新建项
(2)创建sub1.h头文件
(3)编写sub1.h头文件
float B2B(int a, int b);
(4)创建sub1.cpp
(5)编写sub1.cpp文件
#include"sub1.h"
#include<iostream>
using namespace std;
float B2B(int a, int b)
{float d;d = a + b;return d;
}
(6)创建main1.cpp文件
(7)编写main1.cpp文件
#include<iostream>
#include"sub1.h"
using namespace std;
int main()
{int a, b;a = 3; b = 6;float c;c = B2B(a, b);cout << c;return 0;
}
(8)运行·结果
四、Ubuntu下用makefile方式编写程序
1、安装make
sudo apt-get install make
2、编程
必须在同一目录下,否则可能会显示找不到文件
(1)创建main1.c文件(跟Windows下一样只是换成了c语言)
vim main1.c
(2)编写main1.c文件
#include<stdio.h>
#include"sub1.h"
int main(){int a=3,b=6;float c;c=B2B(a,b);printf("%f\n",c);return 0;
}
(3)创建sub1.c文件
vim sub1.c
(4)编写sub1.c文件
#include<stdio.h>
#include"sub1.h"
float B2B(int a,int b)
{float d;
d=a+b;
return d;
}
(5)创建sub1.h头文件
vim sub1.h
(6)编写sub1.h文件
float B2B(int a, int b);
(7)创建makefile文件
vim makefile
- 也可以命名为GNUmakefile、Makefile如果是其它命名则需要通过命令行指定一个或多个目标
(8)编写makefile文件
main1: main1.o sub1.ogcc -o main1 main1.o sub1.o
main1.o:main1.c sub1.hgcc -c main1.c
sub1.o:sub1.c sub1.hgcc -c sub1.c
clean:rm *.o main1
- main1为最后生成的可执行文件名
- command前的空格为tab键,上一行target行换行后的空格是默认的8个空格,需要删除后重新按tab键
- clean的作用是删除编译过程中产生的“.o“文件
(9)运行指令make(同时编译链接上一步中的文件,生成名为main1的可执行文件)
(10)执行main1文件结果
Ubuntu中cc++语言简单程序编写以及使用gccg++方式编译简单程序(基础)相关推荐
- Android驱动(1)---Ubuntu中为Android系统上编写Linux内核驱动程序实现方法
Ubuntu中为Android系统上编写Linux内核驱动程序实现方法 本文主要介绍在Ubuntu 上为Android系统编写Linux内核驱动程序, 这里对编写驱动程序做了详细的说明,对研究Andr ...
- java制作oracle程序,Java程序操作Oracle两种方式之简单实现
Java程序操作Oracle两种方式之简单实现 1.通过JDBC-ODBC桥连接Oracle数据库 (1)创建odbc源,在控制面板->管理工具->数据源(odbc)中添加DSN,比如取名 ...
- 习题 11.1 将例11.1的程序片断补充和改写成一个完整、正确的程序,用公用继承方式。在程序中应包括输入数据的函数,在程序运行时输入num,name,sex,age,addr的值,程序应输出以上。。
C++程序设计(第三版) 谭浩强 习题11.1 个人设计 习题 11.1 将例11.1的程序片断补充和改写成一个完整.正确的程序,用公用继承方式.在程序中应包括输入数据的函数,在程序运行时输入num, ...
- 习题 11.1 将例11.1的程序片断补充和改写成一个完整、正确的程序,用公用继承方式。在程序中应包括输入数据的函数,在程序运行时输入num,name,sex,age,addr的值。
习题 11.1 将例11.1的程序片断补充和改写成一个完整.正确的程序,用公用继承方式.在程序中应包括输入数据的函数,在程序运行时输入num,name,sex,age,addr的值,程序应输出以上5个 ...
- ubuntu中snap包管理器的安装、更新删除与简单使用
概述 什么是snap,snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立.所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序 ...
- Ubuntu 20.04.2.0 LTS 下利用Geany 1.36编译C++程序报错“/bin/sh: 1: g++: not found”
[问题描述] Ubuntu 20.04.2.0 LTS 下利用 sudo apt-get install geany 命令安装Geany 1.36后,利用Geany 1.36写C++语言程序后,单击G ...
- 随手记——Linux中C语言调用shell指令的三种方式
在学习资料满天飞的大环境下,知识变得非常零散,体系化的知识并不多,这就导致很多人每天都努力学习到感动自己,最终却收效甚微,甚至放弃学习.我的使命就是过滤掉大量的无效信息,将知识体系化,以短平快的方式直 ...
- 基于天问block编译环境下ASRPRO语音芯片程序编写教程(一)软件下载与基础程序语句篇
ASRPRO芯片是针对低成本离线语音应用方案开发的一款通用.便携.低功耗高性能的语音识别芯片,采用了第三代 BNPU 技术,能支持 DNN\TDNN\RNN 等神经网络及卷积运算,支持语音识别.声纹识 ...
- 小程序推广有几种方式?小程序运营有什么步骤?
目前,微信小程序已经成为越来越多企业进行拓客推广的方式,但如何推广.如何引流成为不少企业需要思考的难题.小程序使用便捷,但也需要了解小程序的特性及推广方式,才能更好地进行运营.小程序有哪些入口?企业可 ...
最新文章
- 在MVC的cshtml视图页获取默认路由下的ID值的方法
- TESLA CENTER
- -XX:+UseParallelGC与 -XX:+UseParNewGC相关介绍
- 超完整的 Chrome 浏览器客户端调试大全
- hibernate5.0映射配置文件核心配置文件数据更新丢失
- 项目中对axios的全局封装
- 老司机的HCIE战报
- 计算机监理培训计划,监理人员培训计划
- 功能测试常见的测试方法有哪些?
- 路由器与交换机知识总
- 计算机 26个英文字母代表数字,数字能量字母对照表-26个英文字母各代表什么数字...
- 【unity3D】单点和多点触控
- 适合化工厂人员定位技术浅析,化工厂人员室内定位--新导智能
- 每周推荐短视频:商用车实现无人驾驶的目的是什么?
- 系统信息相关命令(时间和日期 date cal,磁盘信息,进程信息)
- vue 实现无限轮播_vue实现匀速轮播效果
- 群晖webdev挂载中国移动和彩云网盘
- 学生成绩查询系统(php+mysql)
- 什么样的企业是负责任的企业
- SLAM算法解析:抓住视觉SLAM难点,了解技术发展大趋势