关注开源技术(黑龙江。哈尔滨) 倡导企业级开源应用,探索信息化方案标准; 集成开源众多新成果,消除开源方案忧与患; 力推低成本开源战车,笑纳八方来客叙开源; 普及开源知识助推力,喜迎开源企业展宏图;

最基本linux c编程基础

2008-03-15 19:24:32 / 个人分类:开源开发类

例子文件:
/*
this is bill.c
*/
#include  <stdio.h>
void  bill(char *argv)
{
    printf("bill:  %s\n",argv);
}
/*
this is linus.c
*/
#include  <stdio.h>
void  linus(char *argv)
{
    printf("linus:  %s\n",argv);
}
/*
this is mylib.h
*/
void bill(char  *);
void linus(char *);
/*
this is main program
*/
#include  "mylib.h"
int main()
{
    linus("Hello Word");
    exit(0);
}
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ gcc -c bill.c linus.c
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ ls *.o
bill.o  linus.o
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ ls
bill.c  bill.o  linus.c  linus.o  main.c  mylib.h
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ gcc -c main.c
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ ls
bill.c  bill.o  linus.c  linus.o  main.c  main.o  mylib.h
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ gcc -o main main.o linus.o
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ ./main
linus:  Hello Word
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ ar crv libmy.a  bill.o linus.o
a - bill.o
a - linus.o
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ ls
bill.c  bill.o  libmy.a  linus.c  linus.o  main  main.c  main.o  mylib.h
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ ls libmy.a
libmy.a
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ nm main
080494dc d _DYNAMIC
080495b0 d _GLOBAL_OFFSET_TABLE_
080484a8 R _IO_stdin_used
        w _Jv_RegisterClasses
080494cc d __CTOR_END__
080494c8 d __CTOR_LIST__
080494d4 d __DTOR_END__
080494d0 d __DTOR_LIST__
080484c4 r __FRAME_END__
080494d8 d __JCR_END__
080494d8 d __JCR_LIST__
080495d8 A __bss_start
080495cc D __data_start
08048460 t __do_global_ctors_aux
08048350 t __do_global_dtors_aux
080495d0 D __dso_handle
        w __gmon_start__
0804845a T __i686.get_pc_thunk.bx
080494c8 d __init_array_end
080494c8 d __init_array_start
080483f0 T __libc_csu_fini
08048400 T __libc_csu_init
        U __libc_start_main@@GLIBC_2.0
080495d8 A _edata
080495dc A _end
08048488 T _fini
080484a4 R _fp_hw
0804829c T _init
08048320 T _start
080495d8 b completed.5982
080495cc W data_start
        U exit@@GLIBC_2.0
08048380 t frame_dummy
080483d0 T linus
080483a4 T main
080495d4 d p.5980
        U printf@@GLIBC_2.0
fuqiang@fuqiang-laptop:~/linuxcexample/ch1$ nm libmy.a

bill.o:
00000000 T bill
        U printf

linus.o:
00000000 T linus
        U printf

TAG: 开源开发类

开源大讲堂_黄富强 黄富强 发布于2008-03-18 21:57:54
http://www.lupaworld.com/bbs/thread-4217-1-1.html
加上这个,参考一下

[ 本帖最后由 黄富强 于 2008-3-18 21:59 编辑 ]
bigapple bigapple 发布于2008-03-16 21:12:31
加上注释,加上Makefile
Sanool和开源的故事--邵炜主题博客 sanool 发布于2008-03-16 16:12:52
的确很全面

C语言语法、标准格式
文件调用
编译过程
链接过程
库操作命令

都有了

黄老师要是再加上注释就完美了。。
我来说两句

(可选)

Open Toolbar