GCC是GNU Compiler Collection的缩写,是自由软件基金会(FSF)开发的C语言编译器。它能够编译多种编程语言,如C、C++、Objective-C、Fortran、Ada等等。GCC编译器可在多种平台上工作,包括Windows、macOS和Linux等。它具有跨平台、自由开源、高度可移植的特点,成为C语言开发者的重要工具。
本文将从以下几个方面介绍GCC编译器的使用技巧:
1.安装GCC编译器
在Linux系统中,GCC编译器通常已经自带了,如果没有的话可以使用以下命令进行安装:
$ sudo apt-get install gcc
2.编译和运行简单的C程序
下面是一个简单的C程序:
#include
int mn() {
printf(“Hello, World!\n”);
return 0;
}
保存为hello.c文件,使用以下命令进行编译:
$ gcc hello.c -o hello
其中,-o参数指定输出文件名为“hello”,默认情况下输出文件名为“a.out”。
使用以下命令运行程序:
$ ./hello
程序输出以下内容:
Hello, World!
3.编译和运行包含多个源文件的项目
在实际项目中,通常需要编译和运行包含多个源文件的程序。以下是一个包含两个源文件的程序:
源文件1:hello.c
#include
void print_hello() {
printf(“Hello, “);
}
源文件2:world.c
#include
void print_world() {
printf(“World!\n”);
}
源文件3:mn.c
#include
extern void print_hello();
extern void print_world();
int mn() {
print_hello();
print_world();
return 0;
}
使用以下命令进行编译:
$ gcc hello.c world.c mn.c -o hello
其中,-o参数指定输出文件名为“hello”,默认情况下输出文件名为“a.out”。
使用以下命令运行程序:
$ ./hello
程序输出以下内容:
Hello, World!
4.使用Makefile进行自动化编译
使用Makefile可以实现自动化编译,以便于处理包含多个源文件的程序。以下是一个Makefile的示例:
CC=gcc
CFLAGS=-I.
hello: hello.o world.o mn.o
$(CC) -o hello hello.o world.o mn.o
hello.o: hello.c
$(CC) -c -o hello.o hello.c $(CFLAGS)
world.o: world.c
$(CC) -c -o world.o world.c $(CFLAGS)
mn.o: mn.c
$(CC) -c -o mn.o mn.c $(CFLAGS)
clean:
rm -f *.o hello
其中,CC定义编译器为GCC,CFLAGS定义编译选项为-I,指定头文件路径为当前目录。
make命令自动执行Makefile,进行编译:
$ make
使用以下命令运行程序:
$ ./hello
程序输出以下内容:
Hello, World!
5.调试程序
使用调试工具可以帮助我们查找程序中的错误。GCC编译器自带了GDB调试工具。以下是一个使用GDB调试程序的示例:
需要在程序中添加调试选项:
源文件1:hello.c
#include
int mn() {
printf(“Hello, World!\n”);
return 0;
}
在编译时使用-g选项添加调试信息:
$ gcc -g hello.c -o hello
使用以下命令启动GDB调试器:
$ gdb hello
使用以下命令运行程序:
(gdb) run
程序输出以下内容:
Hello, World!
可以使用以下命令断点调试:
(gdb) break mn
(gdb) run
使用以下命令单步跟踪程序:
(gdb) step
使用以下命令显示变量的值:
(gdb) print variable
使用以下命令退出GDB调试器:
(gdb) quit
相关问题拓展阅读:
- linux系统中用gcc编译并且运行c程序
linux系统中用gcc编译并且运行c程序
【希望对你有帮助】
建议你看看编程的一些基础知识
– 经典hello word 程序
#include
int mian()
{
printf(“hello world!\n”);
return 0;
}
– 编译
-进入终端
-进入源文件所在的目录
$ gcc hello.c -o hello
– 运行
$ ./hello
1、gcc t 文件名.c -o 文件名
2、直接运行 o 后面的文件名即可
gcc(选项)(参数)
选项:
-o:指定生成的输出文件;
-E:仅执行编译预处理;
-S:将C代码转换为汇编代码;
-wall:显示警告信息;
-c:仅执行编译操作,不进行连接操作。
示例:
->gcc test.c -o test
->test
关于在linux下gcc编程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港服务器首选树叶云,2H2G首月10元开通。
树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/170824.html<