新建
上传
首页
助手
最?/div>
资料?/div>
工具

了解

Linux

下的

C

语言编程的基本常?/p>

 

1.

源程序的编译?/p>

Linux

下面

,

如果要编译一?/p>

C

语言源程?/p>

,

我们要使?/p>

GNU

?/p>

gcc

编译?/p>

. 

下面我们以一个实例来说明如何使用

gcc

编译?/p>

.

假设我们有下面一个非?/p>

简单的源程?/p>

(hello.c):int main(int argc,char **argv)   

{ printf("Hello Linux\n");   

}

要编译这

个程?/p>

,

我们只要在命令行下执?/p>

:gcc 

-o 

hello 

hello.cgcc 

编译器就会为我们生成一?/p>

hello

的可执行文件

.

执行

./hello

就可以看到程序的输出结果?/p>

.

命令行中

 

gcc

表示我们是用

gcc

来编译我们的源程?/p>

,-o 

选项表示我们要求编译器给我们输出的可执行文件名为

hello 

?/p>

hello.c

是我们的源程序文?/p>

.gcc

编译器有许多选项

,

一般来说我们只要知道其中的几个?/p>

够了

. 

-o

选项我们已经知道?/p>

,

表示我们要求输出的可执行文件?/p>

. 

-c

选项表示我们只要?/p>

编译器输出目标代?/p>

,

而不必要输出可执行文?/p>

. -g

选项表示我们要求编译器在编译的时?/p>

提供我们以后对程序进行调试的信息

.

知道了这三个选项

,

我们就可以编译我们自己所写的

简单的源程序了

,

如果你想要知道更多的选项

,

可以查看

gcc

的帮助文?/p>

,

那里有着许多对其

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

.2.Makefile

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

一

?/p>

?/p>

?/p>

,

?/p>

?/p>

?/p>

?/p>

?/p>

:/*  

main.c 

*/  

?/p>

i 

nclude 

"mytool1.h"  

?/p>

i 

nclude 

"mytool2.h"int 

main(int 

argc,char 

**argv)  {   

mytool1_print("hello");   

mytool2_print("hello");  }/*  

mytool1.h  

*/ #ifndef 

_MYTOOL_1_H #define 

_MYTOOL_1_Hvoid 

mytool1_print(char 

*print_str);#endif/*  

mytool1.c  

*/  

?/p>

i 

nclude 

"mytool1.h"  void 

mytool1_print(char 

*print_str)  {    

printf("This 

is 

mytool1 

print 

%s\n",print_str);  }/* 

mytool2.h 

*/ #ifndef 

_MYTOOL_2_H #define 

_MYTOOL_2_Hvoid 

mytool2_print(char 

*print_str);#endif/*  

mytool2.c  

*/  

?/p>

i 

nclude 

"mytool2.h"  void 

mytool2_print(char 

*print_str)  {    

printf("This is mytool2 print %s\n",print_str);  }

当然由于这个程序是很短的?/p>

们可以这样来编译

gcc 

-c 

main.c  gcc 

-c 

mytool1.c  gcc 

-c 

mytool2.c  gcc 

-o 

main 

main.o 

mytool1.o mytool2.o

这样的话我们也可以产?/p>

main

程序

,

而且也不时很麻烦

.

但是如果我们

考虑一下如果有一天我们修改了其中的一个文?/p>

(

比如?/p>

mytool1.c)

那么我们难道还要?/p>

新输入上面的命令

?

也许你会?/p>

,

这个很容易解决啊

,

我写一?/p>

SHELL

脚本

,

让她帮我去完?/p>

不就可以?/p>

.

是的对于这个程序来说

,

是可以起到作用的

.

但是当我们把事情想的更复杂一?/p>

,

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

了解

Linux

下的

C

语言编程的基本常?/p>

 

1.

源程序的编译?/p>

Linux

下面

,

如果要编译一?/p>

C

语言源程?/p>

,

我们要使?/p>

GNU

?/p>

gcc

编译?/p>

. 

下面我们以一个实例来说明如何使用

gcc

编译?/p>

.

假设我们有下面一个非?/p>

简单的源程?/p>

(hello.c):int main(int argc,char **argv)   

{ printf("Hello Linux\n");   

}

要编译这

个程?/p>

,

我们只要在命令行下执?/p>

:gcc 

-o 

hello 

hello.cgcc 

编译器就会为我们生成一?/p>

hello

的可执行文件

.

执行

./hello

就可以看到程序的输出结果?/p>

.

命令行中

 

gcc

表示我们是用

gcc

来编译我们的源程?/p>

,-o 

选项表示我们要求编译器给我们输出的可执行文件名为

hello 

?/p>

hello.c

是我们的源程序文?/p>

.gcc

编译器有许多选项

,

一般来说我们只要知道其中的几个?/p>

够了

. 

-o

选项我们已经知道?/p>

,

表示我们要求输出的可执行文件?/p>

. 

-c

选项表示我们只要?/p>

编译器输出目标代?/p>

,

而不必要输出可执行文?/p>

. -g

选项表示我们要求编译器在编译的时?/p>

提供我们以后对程序进行调试的信息

.

知道了这三个选项

,

我们就可以编译我们自己所写的

简单的源程序了

,

如果你想要知道更多的选项

,

可以查看

gcc

的帮助文?/p>

,

那里有着许多对其

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

.2.Makefile

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

一

?/p>

?/p>

?/p>

,

?/p>

?/p>

?/p>

?/p>

?/p>

:/*  

main.c 

*/  

?/p>

i 

nclude 

"mytool1.h"  

?/p>

i 

nclude 

"mytool2.h"int 

main(int 

argc,char 

**argv)  {   

mytool1_print("hello");   

mytool2_print("hello");  }/*  

mytool1.h  

*/ #ifndef 

_MYTOOL_1_H #define 

_MYTOOL_1_Hvoid 

mytool1_print(char 

*print_str);#endif/*  

mytool1.c  

*/  

?/p>

i 

nclude 

"mytool1.h"  void 

mytool1_print(char 

*print_str)  {    

printf("This 

is 

mytool1 

print 

%s\n",print_str);  }/* 

mytool2.h 

*/ #ifndef 

_MYTOOL_2_H #define 

_MYTOOL_2_Hvoid 

mytool2_print(char 

*print_str);#endif/*  

mytool2.c  

*/  

?/p>

i 

nclude 

"mytool2.h"  void 

mytool2_print(char 

*print_str)  {    

printf("This is mytool2 print %s\n",print_str);  }

当然由于这个程序是很短的?/p>

们可以这样来编译

gcc 

-c 

main.c  gcc 

-c 

mytool1.c  gcc 

-c 

mytool2.c  gcc 

-o 

main 

main.o 

mytool1.o mytool2.o

这样的话我们也可以产?/p>

main

程序

,

而且也不时很麻烦

.

但是如果我们

考虑一下如果有一天我们修改了其中的一个文?/p>

(

比如?/p>

mytool1.c)

那么我们难道还要?/p>

新输入上面的命令

?

也许你会?/p>

,

这个很容易解决啊

,

我写一?/p>

SHELL

脚本

,

让她帮我去完?/p>

不就可以?/p>

.

是的对于这个程序来说

,

是可以起到作用的

.

但是当我们把事情想的更复杂一?/p>

,

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

了解

Linux

下的

C

语言编程的基本常?/p>

 

1.

源程序的编译?/p>

Linux

下面

,

如果要编译一?/p>

C

语言源程?/p>

,

我们要使?/p>

GNU

?/p>

gcc

编译?/p>

. 

下面我们以一个实例来说明如何使用

gcc

编译?/p>

.

假设我们有下面一个非?/p>

简单的源程?/p>

(hello.c):int main(int argc,char **argv)   

{ printf("Hello Linux\n");   

}

要编译这

个程?/p>

,

我们只要在命令行下执?/p>

:gcc 

-o 

hello 

hello.cgcc 

编译器就会为我们生成一?/p>

hello

的可执行文件

.

执行

./hello

就可以看到程序的输出结果?/p>

.

命令行中

 

gcc

表示我们是用

gcc

来编译我们的源程?/p>

,-o 

选项表示我们要求编译器给我们输出的可执行文件名为

hello 

?/p>

hello.c

是我们的源程序文?/p>

.gcc

编译器有许多选项

,

一般来说我们只要知道其中的几个?/p>

够了

. 

-o

选项我们已经知道?/p>

,

表示我们要求输出的可执行文件?/p>

. 

-c

选项表示我们只要?/p>

编译器输出目标代?/p>

,

而不必要输出可执行文?/p>

. -g

选项表示我们要求编译器在编译的时?/p>

提供我们以后对程序进行调试的信息

.

知道了这三个选项

,

我们就可以编译我们自己所写的

简单的源程序了

,

如果你想要知道更多的选项

,

可以查看

gcc

的帮助文?/p>

,

那里有着许多对其

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

.2.Makefile

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

一

?/p>

?/p>

?/p>

,

?/p>

?/p>

?/p>

?/p>

?/p>

:/*  

main.c 

*/  

?/p>

i 

nclude 

"mytool1.h"  

?/p>

i 

nclude 

"mytool2.h"int 

main(int 

argc,char 

**argv)  {   

mytool1_print("hello");   

mytool2_print("hello");  }/*  

mytool1.h  

*/ #ifndef 

_MYTOOL_1_H #define 

_MYTOOL_1_Hvoid 

mytool1_print(char 

*print_str);#endif/*  

mytool1.c  

*/  

?/p>

i 

nclude 

"mytool1.h"  void 

mytool1_print(char 

*print_str)  {    

printf("This 

is 

mytool1 

print 

%s\n",print_str);  }/* 

mytool2.h 

*/ #ifndef 

_MYTOOL_2_H #define 

_MYTOOL_2_Hvoid 

mytool2_print(char 

*print_str);#endif/*  

mytool2.c  

*/  

?/p>

i 

nclude 

"mytool2.h"  void 

mytool2_print(char 

*print_str)  {    

printf("This is mytool2 print %s\n",print_str);  }

当然由于这个程序是很短的?/p>

们可以这样来编译

gcc 

-c 

main.c  gcc 

-c 

mytool1.c  gcc 

-c 

mytool2.c  gcc 

-o 

main 

main.o 

mytool1.o mytool2.o

这样的话我们也可以产?/p>

main

程序

,

而且也不时很麻烦

.

但是如果我们

考虑一下如果有一天我们修改了其中的一个文?/p>

(

比如?/p>

mytool1.c)

那么我们难道还要?/p>

新输入上面的命令

?

也许你会?/p>

,

这个很容易解决啊

,

我写一?/p>

SHELL

脚本

,

让她帮我去完?/p>

不就可以?/p>

.

是的对于这个程序来说

,

是可以起到作用的

.

但是当我们把事情想的更复杂一?/p>

,

Ͼλ">
Ͼλ
Ŀ

了解Linux下的C语言编程的基本常?- 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

了解

Linux

下的

C

语言编程的基本常?/p>

 

1.

源程序的编译?/p>

Linux

下面

,

如果要编译一?/p>

C

语言源程?/p>

,

我们要使?/p>

GNU

?/p>

gcc

编译?/p>

. 

下面我们以一个实例来说明如何使用

gcc

编译?/p>

.

假设我们有下面一个非?/p>

简单的源程?/p>

(hello.c):int main(int argc,char **argv)   

{ printf("Hello Linux\n");   

}

要编译这

个程?/p>

,

我们只要在命令行下执?/p>

:gcc 

-o 

hello 

hello.cgcc 

编译器就会为我们生成一?/p>

hello

的可执行文件

.

执行

./hello

就可以看到程序的输出结果?/p>

.

命令行中

 

gcc

表示我们是用

gcc

来编译我们的源程?/p>

,-o 

选项表示我们要求编译器给我们输出的可执行文件名为

hello 

?/p>

hello.c

是我们的源程序文?/p>

.gcc

编译器有许多选项

,

一般来说我们只要知道其中的几个?/p>

够了

. 

-o

选项我们已经知道?/p>

,

表示我们要求输出的可执行文件?/p>

. 

-c

选项表示我们只要?/p>

编译器输出目标代?/p>

,

而不必要输出可执行文?/p>

. -g

选项表示我们要求编译器在编译的时?/p>

提供我们以后对程序进行调试的信息

.

知道了这三个选项

,

我们就可以编译我们自己所写的

简单的源程序了

,

如果你想要知道更多的选项

,

可以查看

gcc

的帮助文?/p>

,

那里有着许多对其

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

.2.Makefile

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

一

?/p>

?/p>

?/p>

,

?/p>

?/p>

?/p>

?/p>

?/p>

:/*  

main.c 

*/  

?/p>

i 

nclude 

"mytool1.h"  

?/p>

i 

nclude 

"mytool2.h"int 

main(int 

argc,char 

**argv)  {   

mytool1_print("hello");   

mytool2_print("hello");  }/*  

mytool1.h  

*/ #ifndef 

_MYTOOL_1_H #define 

_MYTOOL_1_Hvoid 

mytool1_print(char 

*print_str);#endif/*  

mytool1.c  

*/  

?/p>

i 

nclude 

"mytool1.h"  void 

mytool1_print(char 

*print_str)  {    

printf("This 

is 

mytool1 

print 

%s\n",print_str);  }/* 

mytool2.h 

*/ #ifndef 

_MYTOOL_2_H #define 

_MYTOOL_2_Hvoid 

mytool2_print(char 

*print_str);#endif/*  

mytool2.c  

*/  

?/p>

i 

nclude 

"mytool2.h"  void 

mytool2_print(char 

*print_str)  {    

printf("This is mytool2 print %s\n",print_str);  }

当然由于这个程序是很短的?/p>

们可以这样来编译

gcc 

-c 

main.c  gcc 

-c 

mytool1.c  gcc 

-c 

mytool2.c  gcc 

-o 

main 

main.o 

mytool1.o mytool2.o

这样的话我们也可以产?/p>

main

程序

,

而且也不时很麻烦

.

但是如果我们

考虑一下如果有一天我们修改了其中的一个文?/p>

(

比如?/p>

mytool1.c)

那么我们难道还要?/p>

新输入上面的命令

?

也许你会?/p>

,

这个很容易解决啊

,

我写一?/p>

SHELL

脚本

,

让她帮我去完?/p>

不就可以?/p>

.

是的对于这个程序来说

,

是可以起到作用的

.

但是当我们把事情想的更复杂一?/p>

,



ļ׺.doc޸Ϊ.docĶ

  • 2016ϰݻʦרҵ㣺ЧӦ
  • ղ64ҳ
  • ѧϰ᳹ᾫʵʩ
  • Ȼѧϰ⼯𰸣[1]
  • 蹤޹˾ίкͬ
  • ƴԪ⼰ҵ𰸨DDרҵ()
  • ӢҸſκϰ
  • ()ˮģн.
  • 2018-2019Ϫع·СѧУһ꼶ϲѧģĩ޴
  • 2013ѯʦĿ֯⼰

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)