linux开发所需知识收集整理(新人起步阶段)
来源:互联网 发布:电脑上录歌用什么软件 编辑:程序博客网 时间:2024/04/28 17:41
1. 所需具备的背景知识
在Linux上编写 C 程序,至少要熟悉以下两方面的基础知识:
1. C语言的编程基础,至少要知道一些基本的语法,控制流程等编程常识。
对常用的标准 C 函数库有常识性的了解。
2. 对Linux/UNIX 的操作有常识性的了解,掌握常用的shell 命令,如 ls, cat, cp, mkdir …etc.
开发所需的基本环境
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
获得帮助的途径
关于 Linux 的文档是非常丰富的。最快捷,方便,全面的资料就在你的机器里,不要浪费。
在命令行上输入shell命令 man 或者 info:
$man gcc >>>> 这个命令可以获得GNU 的C语言编译器的文档。当然,他们是英文的。
关于 man
关于 info
网络上的资源也很多,多得以至于不知道什么才是自己最需要的。
关于如何获得有价值的信息
通过一个实例了解基本步骤
1. 输入源代码
2. 编译,链接,运行
3. 调试程序
我们从最基本的 hello world 程序开始,实际操作一下:
1. 输入源代码
引用
$ emacs hello.c >>>> 进入emacs 编辑器环境
#include <stdio.h >>>> 如果你看不懂这个函数,就去好好的看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开发所需知识收集整理(新人起步阶段)
- 收集整理Android开发所需资源
- APP开发实战14-APP开发人员所需知识
- 前段工作以及所需知识总结
- 面试求职记所需知识
- 敏捷开发基础(收集整理)
- Linux下查找命令(收集整理)
- 嵌入式Linux发展方向(收集整理)
- Linux下查找命令(收集整理)
- linux+gtk+c/c++ 开发资料收集整理
- linux+gtk+c/c++ 开发资料收集整理
- 收集整理的ARM嵌入式linux开发入门视频教程
- 本页的SQL例句全部懂了,你的数据库开发所需知识就够用了
- Android适配所需知识点LayoutParams
- iOS 开发技巧收集整理
- IOS开发收集整理(经典)
- 职场新人起步走
- 新人0起步接触黑客
- asp.net中asp:TextBox的只读属性
- CTreeCtrl二三
- 从源码编译skyeye的mmi_branch
- Java Stack System Monitor
- C#中的多维数组与C中的多维数组的区别
- linux开发所需知识收集整理(新人起步阶段)
- 单实例模式
- GDP
- 软件测试经理访谈:软件测试行业发展及软件测试人才外包
- Flex 经典例子: 建立Restaurant Finder
- GridView 单击选择行,双击打开详细页面,鼠标移到某行上变色
- Flex RemoteObject类参考
- C# 中的委托和事件
- Calling RemoteObject components in ActionScript