热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux下C编程从零开始

Linux下C编程从零开始--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
这里向大家介绍一下在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
推荐阅读
  • mysql和php的关系理解(php技术和mysql怎么结合)
    本文目录一览:1、apachephpmysql他们是什么关系 ... [详细]
  •  像Slashdot这样的论坛上常常有人在攻击GNU,他们的观点在我看来完全是缺乏历史知识和不尊重历史。当GNU倡导称Linux为GNU/Linux时,这些人声称GNU企图从Linus ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文介绍了在Linux中执行.sh脚本时出现/bin/sh^M: bad interpreter: No such file or directory异常的原因分析,并提供了两种解决方法:在Windows下进行编码格式转换,或在Linux中修改文件格式和执行权限。具体操作步骤也在摘要中给出。 ... [详细]
  • Haskell学习笔记:探索函数式编程之美
    使用教材:《learnyouaHaskell》,中文1-8章戳我准备工作。编译器&调试器:安装HaskellPlatform, ... [详细]
  • Copyright(c)1985,1996,1998,2001,2002FreeSoftwareFoundation.Emacs指令通常包含有CONTROL键(有时候以CT ... [详细]
  • 语  法:ls[-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I][-T][-w][--blo ... [详细]
  • 经过前面的一系列工作后,GO的语言环境已经搭建完成。我们也初步体验了GO提供的大部分命令。但在正式进入开发之前,还有件工作要做,那就是选择一款适合自己的IDE。为什么使用IDE“程 ... [详细]
  • 本文主要说明了Linux是什么,Linux发展历史,以及同Linux系统有关的 ... [详细]
  • Win10下游戏不能全屏的解决方法及兼容游戏列表
    本文介绍了Win10下游戏不能全屏的解决方法,包括修改注册表默认值和查看兼容游戏列表。同时提供了部分已经支持Win10的热门游戏列表,帮助玩家解决游戏不能全屏的问题。 ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • 本文详细介绍了Vim编辑器中的三种模式(命令模式、末行模式和编辑模式)以及它们之间的操作区别和切换方法。Vim编辑器凭借其多种命令快捷键和高效率的操作方式,得到了广大厂商和用户的认可。对于想要高效操作文本的用户来说,了解这些模式的使用方法是必不可少的。 ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
author-avatar
手机用户2602925311
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有