这里向大家介绍一下在Linux/UNIX 的机器上,进行 C/C++ 编程的一些入门级知识。

· 所需具备的背景知识
· 开发所需的基本环境
· 获得帮助的途径
· 通过一个实例了解基本步骤

Prerequisite 先决条件:
在Linux上编写 C 程序,至少要熟悉以下两方面的基础知识:

1. C语言的编程基础,至少要知道一些基本的语法,控制流程等编程常识。
对常用的标准 C 函数库有常识性的了解。

2. 对Linux/UNIX 的操作有常识性的了解,掌握常用的shell 命令,如 ls, cat, cp, mkdir …etc.

Environment 所需环境:

1. Linux/ Unix 的操作系统,也可以使用windows下的cygwin。

我们这里讨论的都是通过shell命令行进行操作的。那如果进入了图形界面的Linux 怎么办呢?只要打开一个终端命令,就和命令行环境完全一样了(打开开始菜单可以找到终端命令)。

2. 必备的开发工具:

1) 输入程序需要一个编辑器。常用的有 vi , emacs. 在命令行上输入 vi, emacs, … 就可进入编辑环境
关于 vi
关于 EMACS

2) C语言的编译器。常用的是GNU的c语言编译器 gcc(编译 C 程序), g++(编译 C ++程序)。
关于 gcc / g++
关于 makefile >>>> 用于简化编译过程
这里有一片入门文章 Linux下C语言编程基础知识,可以先看一下

3) 调试程序的常用工具:gdb.
关于 gdb

Get help获得帮助:

关于 Linux 的文档是非常丰富的。最快捷,方便,全面的资料就在你的机器里,不要浪费。

在命令行上输入shell命令 man 或者 info:
$man gcc >>>> 这个命令可以获得GNU 的C语言编译器的文档。当然,他们是英文的。
关于 man
关于 info

网络上的资源也很多,多得以至于不知道什么才是自己最需要的。
关于如何获得有价值的信息

看一下 loveunix 上的相关资源 >>>>

无双补充的一些Linux下入门编程资料 >>>>

 

Basic steps 基本步骤:

1. 输入源代码
2. 编译,链接,运行
3. 调试程序

我们从最基本的 hello world 程序开始,实际操作一下:

1. 输入源代码
引用

$ emacs hello.c >>>> 进入emacs 编辑器环境

#include >>> 如果你看不懂这个函数,就去好好的看c语言的书
int main()
{
printf(“Hello World.\n”); >>>> Emacs环境下,按下 Tab 键,有自动缩进功能
exit(0);
}

完成输入后,按住CTRL 键,按下 x, 再按下 c , 最后松开 CTRL。 >>>> 程序保留并退出emacs 环境。

2. 编译,链接,运行

引用
$ gcc –o hello hello.c
$ ./hello >>>> ./ 指明了所执行程序的路径
Hello World.
$

一个linux平台上的c程序开发已经完成咯

3. 调试

如果要使用 gdb 调试程序,那么在上一步编译的时候,记得加上 –g 选项

引用
$ gcc –g –o hello hello.c
$ gdb hello >>>> 进入 gdb 调试环境

 

4. CVS版本控制软件 —— 协同工作和保留版本的工具
关于 CVS

Linux下C编程入门相关推荐

  1. Linux下串口编程入门

    1. 串口简介 串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EI ...

  2. 【Linux】Linux 下串口编程入门

    目录 串口简介 串口操作 打开串口 设置串口 读写串口 关闭串口 例子 相关主题 串口简介 串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是 RS-232-C 接口( ...

  3. Linux下C编程入门(7)

    Linux下项目同步工具介绍git和github 一.远程仓库工具github 1. 一.本地操作工具git 1. 转载于:https://www.cnblogs.com/guochaoxxl/p/7 ...

  4. Linux下C编程入门(1)

    Linux系统的介绍(以下以Manjaro最新版为例子): 一.系统的安装: 1.可以直接使用U盘做一个live usb的启动盘,在bios中设置从U盘启动即可拥有linux系统,如果是新式bios需 ...

  5. Linux下的编程入门

    通常情况下,我们从命令行输入命令每输入一次就能够得到系统的一次响应.一旦需要我们一个接着一个的输入命令而最后才得到结果的时候,这样的做法显然就没有效率.要达到这样的目的,通常我们利用shell程序或者 ...

  6. Linux下C编程入门和总结

    window下使用各种IDE进行编程,如VS,IAR软件编写代码后可以直接进行编译.Ubuntu下,大多使用VIM编辑器进行代码的编辑,用gcc编译器进行编译. vim编辑器的使用方法如下: 终端下输 ...

  7. Linux下C编程入门(.h文件,.c文件,以及多文件调用的方式)

    1.首先,以Ubuntu 64-bit操作系统下为例 图中的sudo su表示的是快速进入到root管理员下.这里的密码默认的是安装后的Ubunto操作系统中自定义的用户名的密码,此处以用户toto, ...

  8. linux下C++编程学习

    前言(废话,可略过):之前一直在windows下做C++编程,后来换后台工作接触到linux下C++开发.期间磨磨唧唧浪费了很多时间.记录下历程,给后来的小伙伴提个醒,免得浪费宝贵时间. 一.关于换系 ...

  9. Linux 下串口编程(C++ 程序设计)

    串口通信是最简单的通信方式.即使在USB 非常流行的今天,依然保留了串行通信的方式.网络上已经有大量关于Linux下 C++ 串口编程的文章,但是我依然要写这篇博文.因为网络上的资料不是内容太多,就是 ...

最新文章

  1. 《深入理解计算机系统》读书随笔-位操作
  2. 在winform中从外部拖动节点到树形结构(treeview和listview相互拖动)(一)
  3. 使用Screen使SSH关闭后Meteor服务继续运行
  4. 【教程】怎么同时同时ping1000个IP地址?
  5. python学习(函数)
  6. WPF--动态添加控件、访问控件
  7. 基于Dapper的开源Lambda扩展,且支持分库分表自动生成实体之基础介绍
  8. 简单算术表达式求值(信息学奥赛一本通-T1397)
  9. php thinkphp重定向,ThinkPHP框架让页面重定向方法总结
  10. 微服务升级_SpringCloud Alibaba工作笔记0004---认识spring gateway理解新一代网关
  11. 第 8章 面向对象补充和网络编程
  12. 算法设计与分析 (知识点总结)
  13. 基于互联网的环境影响评价数据服务平台
  14. 前端开发者必会的英语单词
  15. 团队项目(二)(江山代有才人秃队)
  16. 加州大学洛杉玑分校计算机专业,加州大学洛杉矶分校计算机科学世界排名2019年最新排名第12(THE世界排名)...
  17. 游戏美术和策划,你感兴趣吗
  18. 索为百万工业互联网APP平台“众工业”在2018工业互联网峰会重磅发布
  19. 输入年份和月份,求该月有多少天
  20. 机器学习算法之聚类算法拓展:K-Means和Mini Batch K-Means算法效果评估

热门文章

  1. 如何选择深度学习框架 TensorFlow/Torch/Mxnet/Theano
  2. Android5.1蓝牙电话分析及demo
  3. MATLAB语言初步学习(四)
  4. android之sqlite增、删、改,查
  5. pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
  6. windows和wsl设置代理
  7. 麒麟810怎么样_麒麟810+6G+128G+大电池,千元价格的手机上手体验
  8. 既然Tengine比Nginx更强大,为什么Tengine没有取代Nginx呢?
  9. Python实现温度转换
  10. Android Studio如何去除界面默认标题栏