当前位置: 首页 > news >正文

网站建设课程设计格式网站建设主体是什么

网站建设课程设计格式,网站建设主体是什么,好看的ui网站页面设计,西安教育类网站建设公司目录 一、前言 二、Vim的使用 2.1 普通模式 2.2 插入模式 2.3 命令行模式 2.4 可视模式 三、GCC编译器 3.1 预处理阶段 3.2 编译阶段 3.3 汇编阶段 3.4 链接阶段 3.5 静态库和动态库 四、Gdb调试器 五、总结 一、前言 在Linux环境下使用C语言进行编程是一项基础且…

目录

一、前言

二、Vim的使用

2.1 普通模式

2.2 插入模式

2.3 命令行模式

2.4 可视模式

三、GCC编译器

3.1 预处理阶段

3.2 编译阶段

3.3 汇编阶段

3.4 链接阶段

3.5 静态库和动态库

四、Gdb调试器

五、总结


一、前言

在Linux环境下使用C语言进行编程是一项基础且重要的技能。本文将详细介绍在Linux下使用C语言编程的完整流程,包括代码编辑(使用vim)、编译(使用gcc)、调试(使用gdb)。对于大型项目,手动编译每个文件会非常繁琐,因此我们还需要使用Makefile进行项目管理。本文将重点讲解vim、gcc和gdb的使用,后续会专门更新一篇关于Makefile的文章。

二、Vim的使用

Vim是一款功能强大的模态编辑器,广泛应用于Linux、Unix、MacOS和Windows等操作系统。它具有四种模式:普通模式、插入模式、命令行模式和可视模式。用户可以通过配置文件(.vimrc)对Vim进行个性化定制。

2.1 普通模式

普通模式是Vim的默认模式,键盘按键被解释为命令。以下是一些常用快捷键:

功能键

说明

i

切换到插入模式,光标在所在位置的前面

I(大i)

切换到出入模式,光标跑到行首

o(小o)

切换到插入模式,在原来这行的下面新建一行

O(大o)

切换到插入模式,在原来这行的上面新建一行

a

切换到插入模式,光标在所在位置的后面

A

切换到出入模式,光标跑到行尾

G

移动到文件结尾

gg

移动到文件开头

dd

删除本行

yy

复制本行

u

撤销上一次操作

p

粘贴

2.2 插入模式

功能键

说明

ESC

返回到普通模式

2.3 命令行模式

通过在普通模式下按下 : 键(英文的冒号)进入命令行模式。

功能键

说明

w

保存

q

退出

q!

强制退出

wq

保存并退出

w filename

另存一个名为filename的文件

set nu

显示行号

2.4 可视模式

可视模式用于选择文本。用户可以通过在普通模式下按v键进入普通可视模式,按V键进入行可视模式,按Ctrl + v键进入块可视模式。

不过我平时不怎么用这个模式,所以这部分你们可以看看其他博主的文章。

三、GCC编译器

GCC(GNU Compiler Collection)是Linux下常用的C语言编译器。编译过程分为四个阶段:预处理、编译、汇编和链接

3.1 预处理阶段

预处理阶段处理源代码中的预处理指令(如#include、#define等)。可以使用-E选项查看预处理结果:

gcc –E hello.c –o hello.i

3.2 编译阶段

编译阶段检查代码的语法和规范,并将代码翻译成汇编语言。可以使用-S选项查看汇编代码:

gcc –S hello.i –o hello.s

3.3 汇编阶段

汇编阶段是把编译阶段生成的“.s”文件转成目标文件,可使用选项“-c”就可。

gcc –c hello.s –o hello.o

3.4 链接阶段

链接阶段将目标文件与库文件链接,生成可执行文件。可以使用以下命令完成链接:

gcc hello.o -o hello

查看该二进制文件依赖的库:

ldd hello

  • linux-vdso.so.1:虚拟动态共享对象(Virtual Dynamic Shared Object),它是 Linux 内核提供的一种机制,用于优化某些系统调用的性能。
  • libc.so.6:GNU C 标准库(GNU C Library)的动态链接库文件。
  • /lib64/ld-linux-x86-64.so.2:动态链接器(Dynamic Linker),也称为加载器(Loader)。它的作用是负责加载可执行文件及其依赖的共享库,并在程序运行时解析符号。

gcc编译器选项表

后缀名

功能

-c

只编译不链接,生成目标文件“.o”

-S

只编译不汇编,生成汇编代码

-E

只预编译,不做其他处理

-g

在可执行程序中包含标准调试信息

-o file

把输出文件输出到file里

-v

打印出编译器内部编译过程的命令行信息和编译器的版本

-I dir

在头文件的搜索路径列表中添加dir目录

-L dir

在库文件的搜索路径列表中添加dir目录

-static

链接静态库

-llibrary

链接名为library的库文件

-I dir

“-I dir”选项可以在头文件的搜索路径列表中添加 dir目录。由于Linux中头文件都默认放到“/usr/include/”目录下,因此,当用户希望添加放置在其他位置的头文件时,就可以通过“-Idir”选项来指定,这样,Gcc就会到相应的位置查找对应的目录。

-L dir

选项“-L dir”的功能与“-I dir”类似,能够在库文件的搜索路径列表中添加 dir目录。

例如有程序 hello.c 需要用到目录“/root/workplace/Gcc/lib”下的一个动态库 libyourname.so,则只需键入如下命令即可:

gcc hello.c –L= /root/workplace/Gcc/lib –lyourname –o hello

需要注意的是,“-I dir”和“-L dir”都只是指定了路径,而没有指定文件,因此不能在路径中包含文件名。

另外值得详细解释一下的是“-l”选项,它指示 Gcc 去连接库文件 libyourname.so。由于在 Linux下的库文件命名时有一个规定:必须以 “lib” 3 个字母开头。因此在用-l 选项指定链接的库文件名时可以省去 l、i、b 3 个字母。也就是说 Gcc 在对“-lyourname”进行处理时,会自动去链接名为 libyourname.so 的文件。

警告和错误选项

选项

含义

-ansi

支持符合ANSI标准的c程序

-pedantic

允许发出ANSI C标准所列的全部警告信息

-pedantic-error

允许发出ANSI C标准所列的全部错误信息

-w

关闭所有警告

-Wall

允许发出Gcc提供的所有有用的报警信息

-werror

把所有的警告信息转化为错误信息,并在警告发生时终止编译过程

-On

对代码进行优化,n=0~2 数字越大,优化等级越高

3.5 静态库和动态库

  • 静态库:编译链接时将库文件的代码全部加入到可执行文件中,文件后缀为.a。使用静态库的程序在运行时不再需要库文件。
  • 动态库:编译链接时不将库文件的代码加入到可执行文件中,而是在程序运行时由运行时链接器加载库文件,文件后缀为.so。使用动态库可以节省系统开销。

四、Gdb调试器

Gdb 调试器是一款 GNU开发组织并发布的UNIX/Linux下的程序调试工具。

使用c进行编译,注意一定要加上选项“-g”,这样编译出的可执行代码中才包含调试信息,否则之后Gdb无法载入该可执行文件。

步骤1 增加调试信息

gcc -g test.c -o test

步骤2 进入调试模式

gdb test

命令

功能

l(list)

查看文件

b(break) n

在第n行设置断点

delete n

删除断点n

info b

查看断点情况

disable/enable n

不使能/使能断点n

r(run)

运行代码

p(print) n

查看变量n的值

n(next)

单步运行(不会进入函数)

s(step)

单步运行(会进入函数)

c(continue)

恢复正常执行(遇断点停)

finish

恢复正常执行(遇断点不停)

help

帮助信息

q(quit)

退出调试

五、总结

本文详细介绍了在Linux环境下使用C语言编程的完整流程,包括使用Vim进行代码编辑、使用GCC进行编译和链接、使用GDB进行调试。通过这些工具,开发者可以高效地进行C语言编程和调试。希望本文对您有所帮助,后续会继续更新关于Makefile和其他高级主题的文章。

http://www.dtcms.com/a/452179.html

相关文章:

  • 大庆哈尔滨网站建设html模板 多列展示模板
  • 凡科 360免费建站公司如何建立微网站
  • 平昌县建设局网站千锋教育和达内哪个好
  • 网站建设业务流程seo是什么的简称
  • 微网站在线制作网站建设谈单流程
  • 推广网站有哪些方式唐山最新消息今天
  • 做网站泰安cdr做图时怎么找到网站的
  • 关键词挖掘工具网站用asp做网站怎么布局
  • 东莞做网站公司安卓市场下载官网
  • 佛山网站搭建公司哪家好泉州网红打卡景点
  • 在线生成固定悬浮导航的工具网站如何做测评视频网站
  • 网站开发的常用软件统计站老站长推荐app视频
  • 自己怎么给网站做优化排名新手搭建WordPress
  • 网站建设哪家好 需要多少钱网页设计实验报告心得和总结500字
  • 廊坊seo网站排名网站建设账户搭建
  • 网站排名优化提升快速徐州睢宁建设网站
  • 我贷款网站如何做easyui网站开发实战 pdf
  • 懒人之家网站模板建湖人才网临时工招聘
  • 国外网站建设模板平台推广方式
  • 网站建设加推广wordpress 首页统计
  • 上海网站建设品做ppt比较好的网站有哪些
  • 四川网站建设设计公司哪家好wordpress php占内存
  • 百度联盟广告怎么关闭网站优化升级
  • 写网站建设的软文网站怎么建设好看
  • 上海专业网站建站济南网站设计哪家好
  • 企业网站的页面特点浦东网站开发
  • 做网站公司赚不赚钱响应式网站制作流程图
  • 重庆智能网站建设推荐跨境电商营销策划方案
  • 建设手机网站包括哪些费用吗建设企业网站的作用
  • 微网官方网站泉州哪里建设网站