易截截图软件、单文件、免安装、纯绿色、仅160KB

开始在linux下做c语言开发

开始在linux下做c语言开发
本篇文章旨在介绍如何开始在linux下面进行C语言程序设计,以及如何使用程序设计及调试工具进行编写C程序。学会使用gcc及gdb等工具进行linux下的c编写和调试。
在开始之前,首先要说明的是,linux开发程序最主要的编辑器是vi/vim编辑器,当然还有emacs,gedit,只是vi/vim的用户实在是压倒性的多数,原因就是,它在编辑效率上的战胜了其他对手。vim是vi的升级版,带有关键字高亮显示及语法检查功能,现在很多的linux发行版都内置了它。
gcc是一个非常强大的编译工具,几乎可以编译linux下所有的c语言分支,当然主指还是在ANSI C上,虽然还有其他的编译器也可以在linux平台来编译C/C++,如intel的C compiler,不过,gcc的好处在于它集成于linux中,能够更加高效和方便的编译C/c++程序。
首先,让我们以一个程序设计界最经典的例子开始,就是HELL_WORLD程序,来推开linux C 语言设计的大门。
编写源程序:使用vim来创建一个C语言源程序:
[bruce@server1 ~]$ vim hello_world.c
/*This is my first C program*/
#include <stdio.h>
int main()
{
        printf("Hello World!\n");
        return 0;
}
在vim编辑器中,按esc再打入:wq保存退出即完成源程序的编写了。
编译源程序一:下面开始编译,使用的是gcc工具
[bruce@server1 ~]$ gcc hello_world.c
[bruce@server1 ~]$
编译完成后,没有给我们任何的回显信息,证明没有出现编译问题。
然后我们就来检查一下,编译之后有何变化,在当前目录下使用ls查看目录内容,我们可以看到多了一个a.out出来,其实它就是编译后产生的可执行文件,默认名就为a.out
[bruce@server1 ~]$ ls
a.out    hello_world.c  rpmbuild      RPM-GPG-KEY-CentOS-3
Desktop  programs       rpmbuild.txt
[bruce@server1 ~]$
执行程序:然后我们可以像执行shell脚本一样的方式来执行它:
[bruce@server1 ~]$ ./a.out
Hello World!
[bruce@server1 ~]$
从上面我们可以看出,结果已经正常输出了。
再谈编译:像上面那样,虽然可以正常的编写编译程序,但问题也来了,如果当前目录下有多个源程序,那每次编译后都产生的a.out会被后一个a.out所重写,就达到我们的要求了,所以我们可以使用一些参数来指


相关文档:

linux 0.11 内核学习 head.s


#
# 这段代码被连接到system模块的最前面,这也是它为什么称之为head.s的原因。
# 从这里开始内核完全运行在保护模式下。head.s采用的是at&t格式的
# 汇编。注意的是代码中的赋值方向是从左到右。

# 这段程序实际上是出于内存的绝对地址0开始处。首先是加载各个数据段寄存器。
# 重新设置全局描述符表g ......

linux 0.11 内核学习 bitmap.c


/*
 *  linux/fs/bitmap.c
 *
 *  (C) 1991  Linus Torvalds
 */
/* bitmap.c contains the code that handles the inode and block bitmaps */
#include <string.h>
#include <linux/sched.h>
#include <linux/kernel.h> // 一些内核常用函数的原形定义
......

linux 0.11 内核学习 block_dev.c


/*
 * 该文件的两个函数是为了向open和write函数提供接口,实现内核数据
 * 和用户数据的交互
 */
/*
 *  linux/fs/block_dev.c
 *
 *  (C) 1991  Linus Torvalds
 */
#include <errno.h>
#include <linux/sched.h>
#include <linux/kernel ......

linux学习指南针


linux学习指南针(学习方法谈之二)
指南针, linux, 学习
一.为什么要学linux?
当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好!
二.起步
你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix
问题1:版本的选择
北美用redhat,欧洲用SuSE,桌面mandrake ......

Linux下常用网络文件

1). /etc/sysconfig/network
主要用于设置主机名称(Host Name)以及能否启动Network。变动此文件后需重启Linux才能生效。
2). /etc/sysconfig/network-scrips/ifcfg-eth0
设置网卡参数,如GATEWAY,TYPE,DEVICE,NETMASK,IPADDR,USERCTL等...
3). /etc/resolv.conf
如果要设置DNS功能进行主机名称和IP的对应。那么resol ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号