linux环境下编译C
来源:互联网 发布:耳环 淘宝代理 编辑:程序博客网 时间:2024/04/18 16:18
Linux环境下编译C代码
(1)启动虚拟机,进入Linux操作系统,然后启动终端
使用Vim编辑源程序,练习命令模式、编辑模式、底行模式之间的切换,在终端中输入vi hello.c,编辑完成后存盘。
(3)练习以下编译选项的使用:gcc -E hello.c -o hello.i
gcc -S hello.i -o hello.S
gcc -c hello.S -o hello.o
//目标文件gcc hello.o -o hello (此处执行时要加-g,否则之后查看代码时无法正常查看)
运行程序,在终端中查看程序运行结果。
2、GDB调试器的使用。
使用Vim编辑源程序,在终端中输入vi test.c,输入如下源代码,编辑完成后存盘。此代码的功能为输出倒序main函数中定义的字符串,但结果没有输出显示,现通过调试的方式来解决程序中存在的问题。程序源代码如下:
#include <stdio.h>
int display1 (char *string)
int display2 (char *string1)
int main () {
char string[] = "Embedded Linux";
display1 (string);
display2 (string); }
int display1 (char *string)
printf ("The original string is %s \n", string); }
int display2 (char *string1) {
char *string2;
int size,i;
size = strlen (string1);
string2 = (char *) malloc (size + 1);
for (i = 0; i <= size; i++)
string2[size - i] = string1[i];
string2[size+1] = ' ';
printf("The string afterward is %s\n",string2); }
(1)用Gcc编译:gcc -g greet.c -o greet。
(2)运行greet:./greet,查看输出结果是否正确。 (3)启动Gdb调试:gdb greet查看源代码:l
在行(for循环处)设置断点:b 30
在33行(printf函数处)设置断点:b 33。 查看断点设置情况:info b 运行代码:r
单步运行代码:n
查看暂停点变量值:p string2[size - i]
继续单步运行代码数次,并使用命令查看,发现string2[size-1]的值正确 继续程序的运行:c
程序在printf前停止运行,此时依次查看string2[0]、string2[1]…,找到程序运行结果不正确的原因。 退出Gdb:q
将程序修改正确并使用Gcc重新编译,查看运行结果:./greet
- linux环境下编译C
- Linux下配置c/c++编译环境-
- Linux下配置Objective-C编译环境
- 【C语言】Linux操作环境下编译C程序
- 在linux环境下编译一个c/c++工程
- 在linux环境下编译一个c/c++工程
- 一个简单的linux环境下C编译
- 在linux环境下编译一个c/c++工程
- 在linux环境下 编译opencv (C++)工程
- Linux下的C/C++编译环境配置
- C语言实现彩色进度条---linux环境下编译
- Linux 环境下C
- Linux 环境下C
- linux环境下编译 fbreader
- Linux环境下编译CLucene
- linux环境下编译不成功
- linux下编译ffmpeg环境
- Linux 环境下C编程指南-----gcc 编译的四大过程(预处理-编译-汇编-链接 )
- JS 关于button标签注意事项
- iOS开发 CoreBluetooth 蓝牙4.0
- css两行文字显示省略号
- nrf52832用I2C和SPI两种方式驱动LIS2DS12
- 递归算法--如何一步一步理解递归(2)--全排列
- linux环境下编译C
- c++中的this指针
- UVA 1347 Tour (经典DP~)
- 【bzoj1567】【jsoi2008】【二分+哈希】Blue Mary的战役地图
- SpringMVC笔记
- CentOS6.7 linux系统下安装Nginx
- Hibernate之 继承映射
- shell字符串截取常见方式
- 在Eclipse中测试MySQL-JDBC(6)JDBC工具(JdbcUtil)类抽取