博客
关于我
基于kali linux c语言编辑,编译,调试
阅读量:204 次
发布时间:2019-02-28

本文共 1053 字,大约阅读时间需要 3 分钟。

编辑

Vim,Emacs

在Linux下,Vim和Emacs是两款非常流行的文本编辑器。它们各有特点,适用于不同的使用场景。以下是对这两款编辑器的一些基本了解:

新建文件夹并保存.c文件:在终端中使用命令创建文件夹,例如:

`mkdir myc`

然后在`myc`文件夹下新建test.c文件:

`touch test.c`

Vim编辑器的一些常用操作:

Vim的使用方法可能对新手来说有些挑战,但它的高效性使其成为许多开发者的偏好。以下是一些基本操作:

- 插入模式(Insert Mode):按下`i`键进入插入模式,输入文本后按`Esc`退出。 - 退出编辑模式(Normal Mode):按下`Esc`键返回正常模式。 - 搜索和替换:使用`/`启动搜索,`?`查看搜索结果。 - 标记和复制:使用`Shift + p`粘贴。

编译

gcc编译套件

在Linux下,gcc是主要的C编译器,支持多种编译选项。编译.c文件的基本命令是:

`gcc -c test.c`

这将生成一个.o文件,例如:`test.o`。要生成可执行文件,可以使用以下命令:

`gcc test.o -o test`

这样将生成一个名为`test`的可执行文件。运行该程序可以使用:

`./test`

Makefile和make命令

Makefile的作用

Makefile是一种自动化编译工具,特别适用于大型项目。通过编写Makefile文件,可以定义编译规则,减少手动操作的复杂性。例如,以下是一个简单的Makefile:

```makefileall: gcc -c test.c gcc test.o -o testrun: ./test```

使用make命令执行编译和运行,可以通过:

`make`

或者指定目标:

`make run`

调试

GDB调试

GDB是Linux下的经典调试工具,支持多种调试模式。要使用GDB,可以先启动程序,然后附加到它:

`gdb -g test`

或者在编译时添加调试选项:

`gcc -g -c test.c`

然后使用GDB附加到程序:

`gdb test`

你可以设置断点,查看变量值,跟踪程序执行流程等。这些功能对于解决编程问题非常实用。

总结

通过以上方法,你可以在Linux下高效地进行编辑、编译和调试。选择合适的工具和命令,可以显著提升你的开发效率。对于更复杂的项目,Makefile和自动化工具可以进一步简化流程。此外,熟悉GDB调试工具也是不可或缺的技能。

转载地址:http://mrfs.baihongyu.com/

你可能感兴趣的文章
tableviewcell 中使用autolayout自适应高度
查看>>
Symbolic Aggregate approXimation(SAX,符号聚合近似)介绍-ChatGPT4o作答
查看>>
Orcale表被锁
查看>>
svn访问报错500
查看>>
sum(a.YYSR) over (partition by a.hy_dm) 不需要像group by那样需要分组函数。方便。
查看>>
ORCHARD 是什么?
查看>>
Struts2中使用Session的两种方法
查看>>
Stream API:filter、map和flatMap 的用法
查看>>
STM32工作笔记0032---编写跑马灯实验---寄存器版本
查看>>
order by rand()
查看>>
SSM(Spring+SpringMvc+Mybatis)整合开发笔记
查看>>
Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
查看>>
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
查看>>
sql查询中 查询字段数据类型 int 与 String 出现问题
查看>>
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>