
Linux环境下C语言的学习
发布日期:2021-05-15 00:40:52
浏览次数:16
分类:精选文章
本文共 1496 字,大约阅读时间需要 4 分钟。
一、基本操作
1.vim编辑器常用命令
在编码过程中,熟练掌握vim编辑器的事功必不可少。以下是常用的命令: - `i`:在光标前面插入字符 - `a`:在光标后面插入字符 - `shift+i`:在当前行的开头插入字符 - `shift+a`:在当前行的结尾插入字符 - `x`:删除字符 - `dd`:删除整行 - 按住Tab键:标准化缩进2.Makefile的应用
Use Makefile可以提高开发效率,特别是在多个文件依赖关系较多时。以下是Makefile的常用技巧: - 将不会再修改的功能封装到公共类中,形成静态库。 - 编译好的文件可以重复使用,无需重新编译。 - 示例:`#include <stdio.h>`用于在编译时从系统目录查找文件。 - `#include "max.c"`则从当前目录查找max.c文件,并将其内容直接替换进你的程序中。 - 编译命令示例:`gcc -c max.c -o max.o`生成max.o,但该二进制文件不能直接执行。3.main函数中的参数和返回值
`main`函数是程序的入口,了解其参数和返回值的作用至关重要: - `echo &$amp;7`用于查看程序执行结果,`0`表示成功。 - `return 0`表示程序成功完成,不要与其功能混淆。 -运行示例: - `./a.out`:输出argv为1。 - `./a.out -l`:输出argv为2。 - `./a.out -l -a`:输出argv为3。4.标准输入、输出和错误流
标准化处理输入输出流可以提升程序的可用性。操作方法如下: - 将输出重定向到文件:`./a.out > a.txt`(会覆盖现有文件)。 - 将输出保存到文件而不覆盖:`./a.out 1>> a.txt`。 - 将输入重定向到文件:`./a.out < input.txt`。 多个重定向可同时处理输入输出:`./a.out 1>t.txt 2>f.txt`。5.管道
管道是 Unix/Linux싸피_critera의 stdout và stderr结合起来 사용時之利: - `ls /etc/ | grep ab`:在etc目录中查找包含"ab"的文件。 - `ps -e | grep ssh`:查看是否有运行中的sshd进程。 - 串联两个程序:`./input.out | ./avg.out`,实现复用程序。6.gdb调试工具
gdb 是.endpoint debugging.Community开发必备工具: - 正确编译时添加`-g`选项,才能支持调试:`gcc -g main.c -o main.out`。 - 运行调试:`gdb main.out`。 - 调试命令: - `l`:查看代码。 - `start`:显示程序入口。 - `p a`:打印变量a的值。 - `n`:进入下一行。 - `s`:进入函数调用栈。 - `bt`:查看函数堆栈。二、课后心得
编程리즈 courteous women體驗 philosophical ideas 的 meng关注。以下是学习心得:完成C语言图形打印程序ира士unal桎梏:
- 用-printveavailable prints Curso。他提供了以下图片描述: ... 心得:封裝函數x不仅提高代码可读性,還迫使自己在設計程donation時更加影學。
总之,加強程序设计能力是無止境視野的體課題。具體 BlockPos.lang,通過封裝函數來提升代码質量,是實用且必要的學習内容。
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年05月03日 04时16分45秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
maven项目通过Eclipse上传到svn上面,再导入到本地出现指定的类找不到的问题
2019-03-11
maven 项目部署到tomcat下 没有class文件
2019-03-11
算法训练 未名湖边的烦恼(递归,递推)
2019-03-11
算法训练 完数(循环,数学知识)
2019-03-11
什么是接口
2019-03-11
iview组件库中,Form组件里的Input,无法正确绑定on-enter事件
2019-03-11
记录-基于springboot+vue.js实现的超大文件分片极速上传及流式下载
2019-03-11
JavaScript高级程序设计第四版学习记录-第九章代理与反射
2019-03-11
怎么解决Windows 10文件/文件夹正在使用无法删除
2019-03-11
matlab函数:fix 向0取整
2019-03-11
Allegro中如何消除器件本身Pin间距报错
2019-03-11
Flask--简介
2019-03-11
16 python基础-恺撒密码
2019-03-11
Frame--Api框架
2019-03-11
Boostrap技能点整理之【网格系统】
2019-03-11
新闻发布项目——业务逻辑层(UserService)
2019-03-11
hibernate正向生成数据库表以及配置——hibernate.cfg.xml
2019-03-11
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
2019-03-11
java实现人脸识别源码【含测试效果图】——Dao层(IUserDao)
2019-03-11
使用ueditor实现多图片上传案例——前台数据层(Index.jsp)
2019-03-11