Linux 环境下 C++ 的开发编译
Linux环境下C++程序的开发编译学习笔记
环境:vmware 运行下的Ubuntu 16.04
姓名:谢津
时间:2018/5/24
内容:1)vim的安装及配置;2)第一个C++程序的编写与编译;3)多个文件的编译;4)基于gdb的调试
1. vim的安装及配置
1 sudo apt-get install vim-gtk
2 vim –version //查看版本
1 sudo vim /etc/vim/vimrc //修改配置
取消syntax on 的注释使其支持语法高亮
在该文本的最后添加
1 set nu //左侧行号
2 set tabstop=4 //tab长度为4
3 set cursorline //突出当前行
4 set autoindent //自动缩进
简略的配置完毕。
2. 第一个C++程序的编写与编译
新建一个cpp文件
1 vim helloworld.cpp
在文本中编写代码
编写完程序之后,使用g++编译该文件
1 g++ helloworld.cpp
2 ./a.out
或者将.o文件链接为最终的可执行文件
1 g++ helloworld.cpp –o helloworld
2 ./helloworld
3. 多个文件的编译
1 vim mainpre.cpp
1 vim helloworld.cpp
法一:
1 g++ helloworld.cpp mainpre.cpp -o test
成功
法二:
1 vim makefile
4.调试
1 vim test.cpp
执行观察结果
启动gdb进行调试
1 file test2 //命令找到文件进行调试
1 b main //在main处设断点
2 r //run
3 s //单步进入
4 n //逐行调试
5 print num //打印当前num变量值
6 c //继续执行到下一个断点或者到程序尾
Linux 环境下 C++ 的开发编译的更多相关文章
- 【ARM-Linux开发】Linux环境下使用eclipse开发C++动态链接库程序
Linux环境下使用eclipse开发C++动态链接库程序 Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的 ...
- Linux环境下使用eclipse开发C++动态链接库程序
Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的动态链接文件为*.so.详细请参考相关文档. 开发环境:Ec ...
- Linux环境下搭建php开发环境的操作步骤
本文主要记载了通过编译方式进行软件/开发环境的安装过程,其他安装方式忽略! 文章背景: 因为php和Apache等采用编译安装方式进行安装,然而编译安装方式,需要c,c++编译环境, 通过apt方式安 ...
- Linux环境下搭建Android开发环境
最近在折腾linux.因为咱是搞安卓开发的,所以少不了需要搭建Android开发环境,就此小记,希望能给向我一样的开发者一点帮助!开干! 1.安装JDK 下载JDK包,得到的是类似于jdk-8u65- ...
- Linux环境下使用Android NDK编译c/c++生成可执行文件
1.安装Android NDK至Linux(Lubuntu 16) 从网上下载 android-ndk-r13b-linux-x86_64.zip,本人将其解压至/home/guanglun/work ...
- Linux环境下c程序的编译和执行
1 单个文件的编译和执行创建main.c文件,内容如下: #include <stdio.h> #include <stdlib.h> int main(void){ prin ...
- Linux环境下levelDB源码编译与安装
1.下载源码并编译 git clone https://github.com/google/leveldb.git cd leveldb //编译源码的时候需要安装cmake,并且版本需要大于3.9, ...
- 【caffe】caffe在linux环境下的安装与编译
网上的caffe的安装教程繁杂而散乱,对初学者很不友好,尤其对该框架理解不深的童鞋.总的来说,caffe的安装不外乎几个固定的步骤,对每一步有了一定的理解,安装只是time-consuming的问题! ...
- 还是要习惯在linux环境下作Java开发
要FQ 怎么在ubuntu上安装jdk 网址: https://www.youtube.com/watch?v=NZB3Iy7Lve4 需要网站:http://p.web.umkc.edu/pv6xc ...
随机推荐
- Python练习题 047:Project Euler 020:阶乘结果各数字之和
本题来自 Project Euler 第20题:https://projecteuler.net/problem=20 ''' Project Euler: Problem 20: Factorial ...
- 商品现货数据不好拿?商品季节性难跟踪?一键解决没烦恼的Python爬虫分享
更多精彩内容,欢迎关注公众号:数量技术宅.探讨数据分析.量化投资问题,请加技术宅微信:sljsz01 季节性在大宗商品的交易中至关重要 大宗商品交易中,特别是在期货市场,由于商品价格周期的存在,季节性 ...
- 简说Modbus-RTU与Modbus-ASCII
Modbus在串行总线通信中的协议有RTU和ASCII两种.RTU是Remote Terminal Unit的缩写,意思是远程终端单元.ASCII是American Standard Code for ...
- 介绍了ASP。净样板
下载sample application (or see on Github) 内容 问题介绍什么是ASP.NET样板文件NET Boilerplate不是开始创建空的web应用程序从模板域层 关于名 ...
- NOI 2012 【迷失游乐园】
这道题,额,反正我是刚了2天,然后就萎了......(是不是觉得我很菜) 题目描述: 放假了,小Z觉得呆在家里特别无聊,于是决定一个人去游乐园玩. 进入游乐园后,小Z看了看游乐园的地图,发现可以将游乐 ...
- java 反射之静态and动态代理
首先说一下我们什么情况下使用代理? (1)设计模式中有一个设计原则是开闭原则,是说对修改关闭对扩展开放,我们在工作中有时会接手很多前人的代码,里面代码逻辑让人摸不着头脑(sometimes the c ...
- linux c 多线程开发
在开发多线程程序时,当创建的线程数量特别多的时候,就会遇到线程数量的瓶颈. 多线程设置 设置内核参数 kernel.threads-max kernel.threads-max 是 linux 系统允 ...
- 从0到1进行Spark history分析
一.总体思路 以上是我在平时工作中分析spark程序报错以及性能问题时的一般步骤.当然,首先说明一下,以上分析步骤是基于企业级大数据平台,该平台会抹平很多开发难度,比如会有调度日志(spark-sub ...
- Python+Appium自动化测试(9)-自动选择USB用于传输文件(不依赖appium对手机页面元素进行定位)
一,问题 app自动化测试使用Android真机连接电脑时,通常会遇到两种情况: 1.测试机连接电脑会弹窗提示USB选项,选择USB用于"传输文件",有些手机不支持设置默认USB选 ...
- java基础语句翻译
public static void main(String[] args) { System.out.println("人生中的第一个代码-----"); } } package ...