快速业务通道

新征程 linux下C编程

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-24

写在开篇之前

  相信很多同学和虫子一样 当初选择.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


本篇到此 希望对大家有帮助

本文出自 “关注互联网” 博客,请务必保留此出处http://dubing.blog.51cto.com/3911153/745167

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号