写在开篇之前
相信很多同学和虫子一样 当初选择.net、java或者其他什么... 一定程度上并非自己的主观意愿 而是迫于职场需要。至于身为微软派为什么要重新走linux的路,这里不想挑起所谓的派系争论,就算一开始虫子选择的是linux下编程,今天也一样会重走windows的。
另外告诉大家一个好消息,12月份的编程语言排行榜c#已经追到第四了 ~ ~
本篇开始虫子将和有同样爱好的同学一起学习linux下编程,很多人多说语言是相通的,一通则百通。这里我就不吐槽了,只想说一句人云亦云是不好的。不同类型的编程语言有不同的适用场景,不同的领域。你让c coder去开发web应用、他会拿扫帚追你满街跑,你让c# coder去开发运维相关的底层支撑系统,他也只能笑笑吧。另外在此系列中虫子不想和大家讨论例如什么mono在linux下跑.net之类的。就简单的作一个微软派的linux爱好者吧~ ~Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性。
linux coder就不用看了 本系列纯粹新手和新手之间的交流 作为完全从0开始 一路吃了不少苦 本系列都记录下来 让后来者不用再填坑了
选择
系统:ubuntu10.10
开发工具:eclipse cdt版本
开发语言:C
之所以选择这些,看过虫子以前博文的同学应该知道。这些在以前做fastdfs api的时候玩过,稍微熟悉一点。不过博文将从0开始重启诠释整个过程。
学习资料
ubuntu社区:http://forum.ubuntu.org.cn/
必看:http://people.ubuntu.com/~happyaron/udc-cn/
eclipse JRE:。http://www.oracle.com/technetwork/java/javase/downloads/index.html
eclipse cdt版本:http://www.eclipse.org/downloads/
C:书籍我就不推荐了 网上资源很多 谭浩强那本就算了 学校里大家大部分都学过 不评价
环境
装完ubuntu后运行终端
执行命令sudo su
输入密码后拿到root权限
执行命令nautilus 以管理员的角色管理文件夹
下面可以通过浏览器下载所需的资源
也可以使用wget
检查下重要的libevent库
没有的话 从这里下
wget http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz
linux操作系统上面开发程序, 光有了gcc 是不行的
它还需要一个 build-essential软件包
也就是说 编译程序有了这个软件包 它才知道 头文件在哪 才知道库函数在哪
还会下载依赖的软件包 最后才组成一个开发环境 当然 build-essential包 安装时 需要的依赖包 有些你用不上
检查下最常用的vim
第一个hello world
首先我们用传统的记事本来试试
用cd命令选中一个目录 然后再目录下新建个c类型的文件
写个简单的c程序
#include <stdio.h> int main(void) { printf("Hello,world!\n"); return 0; }
用gcc来编译
假设源程序文件名为chongzi.c。
1. 无选项编译链接
用法:#gcc chongzi.c
作用:将chongzi.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。
2. 选项 -o
用法:#gcc chongzi.c -o chongzi
作用:将chongzi.c预处理、汇编、编译并链接形成可执行文件chongzi。-o选项用来指定输出文件的文件名。
3. 选项 -E
用法:#gcc -E chongzi.c -o chongzi.i
作用:将chongzi.c预处理输出chongzi.i文件。
4. 选项 -S
用法:#gcc -S chongzi.i
作用:将预处理输出文件chongzi.i汇编成chongzi.s文件。
5. 选项 -c
用法:#gcc -c chongzi.s
作用:将汇编输出文件chongzi.s编译输出chongzi.o文件。
6. 无选项链接
用法:#gcc test.o -o chongzi
作用:将编译输出文件chongzi.o链接成最终可执行文件chongzi。
7. 选项-O
用法:#gcc -O1 chongzi.c -o chongzi
作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。
运行生成的程序
用Eclipse来玩c程序
启动Eclipse cdt版本 初始会让你设置个workspace 玩过java的同学都很熟悉 照搬了
这里我们新建一个c项目
设置项目属性
如果是加载已存在的项目 在default location那边设置一下路径就可以了
不过很多程序是用make.sh来生成执行的 要在属性里更改配置
编译后运行
gbd调试
很多c大牛其实都是不这样调试 很诧异的 他们都是写日志!!!!
不过关于如何调试我就不一点一点讲了
推荐一个链接 http://fanqiang.chinaunix.net/program/other/2006-07-14/4834.shtml
本篇到此 希望对大家有帮助