学习android 终究还是需要研究一下其底层框架,所以,学习c++很有必要。

这篇博客,算是linux(ubuntu) 下学习 c++ 的一个入门。

刚开始学习编程语言的时候,最好还是使用命令行操作,抛开IDE 工具。

1. 编辑器

编辑器推荐 vi / vim(如果你有耐心的话,可以学习一下 vi  的命令)、scite(比较好用)等。

2. 编译器

针对不同的编译器,c++ 源文件的后缀名称还不一样。

关于编译器 gcc 也好,g++ 也好,CC 也罢。。。刚开始不要计较太多,容易迷惑自己。

注意:这里 c++ 源文件采用.cc 为后缀名称,编译器采用 g++。

如果有兴趣的话,可以研究一下 :

gcc和g++的区别

cc、gcc、CC、g++ 的区别概括

3. 写代码

新建一个.cc 文件,这里为 my.cc

#include <iostream>  

int main() {
std::cout << "hello c++, i must study it !" << std::endl;
return 0;
}

4. 编译运行

打开 linux 终端,cd 到该源文件所在路径,输入编译命令

g++ my.cc -o my

编译完成之后,会在当前目录下面生成可执行文件 my (window 下面应该是 my.exe),如图示:

执行一下,在终端输入

看输出结果:

hello c++, i must study it !

在编译命令中,如果不指定输出文件名称,如:

g++ my.cc  
 

在当前目录下面,会生成 a.out 文件,同理执行 ./a.out 也会得到同样的输出结果。

关于 g++ 的使用,在终端输入:

g++ --help

  

共同学习 linux 下 c++ 编程,欢迎批评指正!

linux makefile: c++ 编程_基础入门_如何开始?的更多相关文章

  1. Spring_MVC_教程_快速入门_深入分析

    Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门  资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf Spring ...

  2. Siki_Unity_1-3_Unity零基础入门_古迹探险

    1-3 Unity零基础入门 古迹探险 任务1/2:资料下载 链接:https://pan.baidu.com/s/1jHVymNk 密码:rbob 任务3:工程的创建和打开 Project:古迹探险 ...

  3. Siki_Unity_1-1_Unity零基础入门_打砖块

    1-1 Unity零基础入门 打砖块 任务1:素材源码 www.sikiedu.com/course/77 任务2:Unity介绍 王者荣耀,球球大作战等游戏都是用unity开发的 跨平台的游戏引擎 ...

  4. Shell编程菜鸟基础入门笔记

    Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...

  5. Linux平台Makefile文件的编写基础入门(课堂作业)

    根据老师的要求,写一个超简单的makefile准备:       准备三个文件:file1.c, file2.c, file2.h       file1.c: #include "file ...

  6. 1_01_MSSQL课程_基础入门

    0. 课程安排: 课程共7天课,前两天SQL基础,后面三天Ado.Net ,最后两天数据库高级进阶学习. 1.数据库的概念 ->数据库就是数据仓库. ->DBMS:数据库管理系统.SQLS ...

  7. 1_01_MSSQL课程_基础入门2

    1.数据库的迁移方案 ->分离 附加 ->权限问题: ->启用Administrator账号 ->把数据库文件放到默认的数据库文件存放目录. ->数据库文件兼容级别,设置 ...

  8. Linux 系统应用编程——进程基础

    一.Linux下多任务机制的介绍 Linux有一特性是多任务,多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务. 多任务操作系统使用某种调度(shedule)策 ...

  9. Linux 系统应用编程——线程基础

    传统多任务操作系统中一个可以独立调度的任务(或称之为顺序执行流)是一个进程.每个程序加载到内存后只可以唯一地对应创建一个顺序执行流,即传统意义的进程.每个进程的全部系统资源是私有的,如虚拟地址空间,文 ...

随机推荐

  1. 在VS中让一个JS文件智能提示另一个JS文件中的成员

    “在VS中如何让一个JS文件智能提示另一个JS文件中的成员” 有时候会有这种情况:当我的一个Web页面引用了两个JS文件(假如分别叫common.js和JScript1.js),如果JScript1. ...

  2. './mysql-bin.index' not found (Errcode: 13) 的解决方法

    将文件系统复制到PC机上,然后再拷贝到别的SD卡后,发现mysql无法启动了,首先检查了一下mysql的错误日志,发现最后出现以下错误: /usr/local/mysql/libexec/mysqld ...

  3. CSS3 Transitions, Transforms和Animation使用简介与应用展示

    CSS3 Transitions, Transforms和Animation使用简介与应用展示 by zhangxinxu from http://www.zhangxinxu.com本文地址:htt ...

  4. Gen_server行为分析与实践

    1.简介 Gen_server实现了通用服务器client_server原理,几个不同的客户端去分享服务端管理的资源(如图),gen_server提供标准的接口函数和包含追踪功能以及错误报告来实现通用 ...

  5. codeforces 676D Theseus and labyrinth BFS搜索

    分析:一个n*m的矩阵,每个格子有12个状态,每次按一次,每个格子转90度,所以整个矩阵只有4种状态,然后爆搜就好了 #include <cstdio> #include <iost ...

  6. HUST 1017 Exact cover dance links

    学习:请看 www.cnblogs.com/jh818012/p/3252154.html 模板题,上代码 #include<cstdio> #include<cstring> ...

  7. win7下代替IDM的下载工具

    EagleGet 批量下载干刚刚的!!!!! 立马卸载IDM,哈哈哈 下载地址(免费软件) http://pan.baidu.com/s/1ntupiZJ

  8. 多线程与网络之NSURLConnection发送请求

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  9. FTP被动模式无法被传统CDN模式加速

    我在CDN公司,遇到一个客户需要加速ftp服务,故给出了这样的方案 客户使用的是vsftpd 2.0.5 我们建议客户在vsftpd.conf里加入如下配置 #pasvpasv_enable=YESp ...

  10. NOIP2004 合并石子

    二.合并果子 (fruit.pas/dpr/c/cpp) [问题描述] 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多 ...