南京移动网站建设报价wordpress 首页单页

张小明 2026/3/12 14:06:34
南京移动网站建设报价,wordpress 首页单页,深圳苏州企业网站建设服务公司,国外做的好的医疗网站设计#x1f3ac; 个人主页#xff1a;Vect个人主页#x1f3ac; GitHub#xff1a;Vect的代码仓库#x1f525; 个人专栏: 《数据结构与算法》《C学习之旅》《Linux》⛺️Per aspera ad astra. 文章目录Makefile0. 简单代码演示1. Makefile结构及规则变量定义部分默认目标部分… 个人主页Vect个人主页 GitHubVect的代码仓库 个人专栏: 《数据结构与算法》《C学习之旅》《Linux》⛺️Per aspera ad astra.文章目录Makefile0. 简单代码演示1. Makefile结构及规则变量定义部分默认目标部分编译目标部分清理目标部分2. 过程推导目标文件.o和依赖关系规则推导过程时间戳伪目标gdb调试gdb使用须知gdb命令汇总vim的使用1. 命令模式操作2. 底行模式操作3. 视图模式和替换模式4. 总结Makefile0. 简单代码演示// add.h#pragmaonceintadd(inta,intb);// add.cpp#includeadd.hintadd(inta,intb){returnab;}// main.cpp#includeiostream#includeadd.hintmain(){std::coutadd(1,2)std::endl;return0;}1. Makefile结构及规则这里先提前有个认知Makefile是文件make是指令先来看代码然后解读# 变量定义部分SRCmain.cpp add.cpp OBJ$(SRC:.cpp.o)BINmyapp# 默认目标$(BIN):$(OBJ)g -o$$^# 编译目标%.o: %.cpp g -c $-o$# 清理目标.PHONY: clean clean:rm-f$(OBJ)$(BIN)变量定义部分SRC main.cpp add.cpp作用定义源文件变量包含所有.cpp的源文件解释SRC是一个包含需要编译的源文件的列表OBJ $(SRC:.cpp.o)作用通过模式替换将SRC中的.cpp全部转换成.o文件解释$(VAR)用来引用一个变量的值$(SRC:.cpp.o)利用替换模式得到OBJ main.o add.oBIN myapp作用定义最终生成的目标文件名最后的可执行文件默认目标部分$(BIN):$(OBJ)作用表示目标$(BIN)依赖于$(OBJ)中的main.o add.og -o $ $^作用使用g将.o文件链接成最终可执行文件myapp解释$代表当前规则中的目标文件这里是$(BIN)$^代表所有的依赖文件去除重复的这里是$(OBJ)编译目标部分%.o: %.cpp作用表示一条通用规则告诉make如何将.cpp文件编译成.o文件解释%是通配符代表一个任意的字符序列这里表示会匹配所有的.cpp文件将它们全部编译为对应的.o文件g -c -o $作用使用g将.cpp文件编译成.o文件解释$代表当前规则中的第一个依赖文件在这里就是.cpp文件$表示当前规则中的目标文件在这里是.o文件清理目标部分.PHONY: clean作用声明clean是一个伪目标而不是文件名解释make会认为clean是一个任务而不是文件因此即使当前目录下存在名为clean的文件make也会执行clean规则的命令clean: rm -f $(OBJ) $(BIN)作用clean目标的命令部分删除所有生成的目标文件和最终的可执行文件。2. 过程推导目标文件.o和依赖关系main.o依赖于main.cppadd.o依赖于add.cpp在Makefile中$OBJ是要生成的目标文件它的生成依赖于.cpp文件规则推导过程make会从默认目标myapp开始通过依赖关系逐步推导出需要做的工作make看到myappmyapp的形成依赖于main.o和add.omake会从main.o和add.o开始推导生成main.o而main.o的生成又依赖于main.cpp所以make会执行g -c main.cpp -o main.o生成add.o同理add.o的生成依赖于add.cpp所以make会执行g -c add.cpp -o add.o链接成myapp当生成了main.o和add.omake会执行g -o mayapp main.o add.o推导是一个出栈入栈的过程出栈make开始时看到myapp出栈myapp处理它的依赖main.o和add.o**入栈**当main.o和add.o处理完后它们的目标文件会入栈然后make执行生成myapp的命令我们梳理清楚依赖链目标直接依赖构建规则myappmain.oadd.og -o myapp main.o add.omain.omain.cppg -c main.cpp -o main.oadd.oadd.cppg -c add.cpp -o add.oclean伪目标rm -f main.o add.o myapp时间戳make在做依赖关系推导的时候会用时间戳来决定哪些目标需要重新构建时间戳的作用make会比较每个目标文件和它的依赖文件的时间戳如果依赖文件比目标文件新make会重新构建目标文件如果目标文件存在且没有被更新make会跳过编译过程[vectVM-0-11-centos make_file]$statmain.cpp File: ‘main.cpp’ Size:102Blocks:8IO Block:4096regularfileDevice: fd01h/64769d Inode:1051720Links:1Access:(0664/-rw-rw-r--)Uid:(1002/ vect)Gid:(1002/ vect)Access:2025-12-1420:12:03.883557588 0800 Modify:2025-12-1420:12:01.955499062 0800 Change:2025-12-1420:12:01.955499062 0800 Birth: -看一下三种时间Acesstime访问时间文件内容被读取/访问的时间Modifytime修改时间文件时间内容被修改的时间文件大小、内容变化Changetime状态改变时间文件**元数据属性**改变的时间文件属性过程演示第一次运行makemake的行为[vectVM-0-11-centos make_file]$makeg -c main.cpp -o main.o g -c add.cpp -o add.o g -o myapp main.o add.o此时目标文件和可执行文件都生成了时间戳被记录修改源文件并运行make假设修改了add.cpp文件中的代码例如intadd(inta,intb){returna*b;// 修改了加法为乘法}现在make会根据文件时间戳决定是否重新编译main.o时间戳未变化main.cpp不重新编译add.o文件的时间戳比add.cpp新make会发现add.o的依赖文件add.cpp发生变化运行指令得到[vectVM-0-11-centos make_file]$makeg -c add.cpp -o add.o g -o myapp main.o add.o不做任何修改直接运行make[vectVM-0-11-centos make_file]$makemake: myapp is up to date.总结目标文件不存在如果目标文件.o或依赖文件.cpp不存在make会强制编译并生成目标文件。依赖文件更新如果依赖文件的时间戳比目标文件更新make会重新编译依赖文件并更新目标文件。无更新时跳过编译如果目标文件和依赖文件的时间戳都没有变化make会跳过编译过程避免重复工作。伪目标伪目标没有对应文件的目标文件用来执行命令而不关心文件的存在伪目标不会检查时间戳每次执行都会运行相关指令.PHONY: clean clean:rm-f$(OBJ)$(BIN).PHONY告诉makeclean是伪目标即使当前目录下有一个clean文件make也不会认为它是一个文件而是会执行rm命令gdb调试gdb使用须知程序发布方式debug版本程序本身会被加入更多调试信息便于调试release版本不添加任何调试信息不可调试在Linux下gcc/g默认生成的可执行程序是release版本若想生成debug版本就需要加上-g选项对同一代码分贝生成release版本和debug版本的可执行程序可以看到debug版本要更大原因是debug版本包含了更多的调试信息gdb命令汇总【进入gdb】gdb 二进制文件名【退出】ctrld或quit调试命令【常见命令】list/l列出源代码从上次位置开始每次列10行list/l 函数名列出指定函数的源代码list/l 文件名:行号列出指定文件的源代码run/r从程序开始连续执行next/n单步执行不进入函数内部相当于逐过程F10step/s单步执行进入函数内部相当于逐语句F11break/b 文件名:行号指定行号打断点b 10b test.c:10info break/b查看当前所有断点信息这里显示断点编号和断点类型以及其他信息finish执行到当前函数返回然后停止print/p 表达式打印表达式的值p 变量打印指定变量的值set var 变量值修改变量的值continue/c从当前位置开始连续执行程序delete/d breakpoints删除所有断点delete/d breakpoints n删除序号为n的断点disable breakpoints禁用所有断点enable breakpoints 启用所有断点info/i breakpoints查看当前设置的断点列表display 变量名跟踪显示指定变量的值undisplay 编号取消对指定编号的变量的跟踪显示until x执行到指定行号backtrace/bc查看当前执行栈的各级函数调用及参数info/i locals查看当前栈帧的局部变量值vim的使用vim是一种多模式编辑器总共有12种模式本文只详细讲解三种常见模式命令模式插入模式第行模式**命令模式**控制光标的移动进行字符或行的删除移动复制某区域内容**插入模式**文本编辑底行模式文本保存、退出、文件替换、查找文本内容、执行命令替换模式文本替换视图模式1. 命令模式操作进入vimvim file如果文件不存在就会自动创建并进入vim编辑器页面默认进入命令模式命令模式-插入模式输入a光标后移一位进入编辑输入o光标另起一行到行首进入编辑输入i光标位置进入编辑命令模式-底行模式shift;就是输入:退出vim并保存文件从命令模式转到底行模式w保存当前文件wq保存并退出q!不保存强制退出复制注意n代表数字nyy光标所在行开始复制n行np从光标所在行下一行行首开始粘贴n次u撤销上一次操作ctrlr取消撤销移动光标shiftg即G定位到文本末尾gg定位到文本开头nshiftg定位到第n行h j k l← ↓ ↑ →移动光标$定位到本行末尾^定位到本行开头w光标跳到下一个字的开头b光标跳到上一个字的开头删除nx光标所在位置开始向后删除n个字符nX光标所在位置开始向前删除n个字符dd删除光标所在行替换nr输入字符从光标所在位置开始用n个输入字符替换原字符更改shift~光标所在位置大小写替换2. 底行模式操作进入底行模式之前先按esc键确定在命令模式下再按:进入第行模式列出行号set nu输入set nu会在文件中每一行前面列出行号set nonu取消行号查找/关键字先按/再输入想查找的内容按n会跳转到下一个匹配的?关键字先按/再输入想查找的内容按n会跳转到上一个匹配的保存文件w离开vimqq3. 视图模式和替换模式从命令模式按shiftr会进入替换模式此时就可以进行文本、字符替换操作从命令模式按ctrlv会进入视图模式hjkl会进行区域选择按I进入插入模式然后按输入//后立马按ESC回到命令模式就可以实现批量注释4. 总结
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做网站推广 优帮云wordpress 黄聪ajax

目录 11.2 担保式投送系统 11.2.1 流量预测 11.2.2 频次控制 11.3 在线分配 11.3.1 在线分配问题 11.3.2 在线分配问题举例 11.3.3 极限性能研究 11.3.4 实用优化算法 总结 11.2 担保式投送系统 担保式投送(Guaranteed Delivery, GD&#xff09…

张小明 2026/3/5 19:45:31 网站建设

金融互助平台网站制作国际新闻最新消息战争视频

Langchain-Chatchat本地部署教程:快速构建专属AI助手 在企业对数据隐私要求日益严格的今天,一个无需联网、完全运行于本地的智能问答系统正变得越来越有价值。想象一下,你的公司有一套完整的内部知识库——从员工手册到技术文档,再…

张小明 2026/3/2 14:52:30 网站建设

小兽wordpress企业网站推广优化

📝 博客主页:Jax的CSDN主页 目录当AI医生开始聊星座:医疗大模型的“神操作”与翻车实录 一、诊断辅助:从看片到看命盘 二、药物研发:从实验室到炼丹炉 三、患者互动:从问诊到心理咨询 四、翻车实录&#xf…

张小明 2026/1/22 13:19:46 网站建设

汕头网站建设方案书小程序登录页面

AI音乐生成版权合规终极指南:7个关键策略确保原创性 【免费下载链接】jukebox Code for the paper "Jukebox: A Generative Model for Music" 项目地址: https://gitcode.com/gh_mirrors/ju/jukebox 在AI音乐生成技术快速发展的今天,如…

张小明 2026/1/22 13:19:15 网站建设

山东网站制作团队凡客诚品v十商城

在当今信息爆炸的时代,如何快速有效地提取网站内容并进行结构化处理,已成为众多用户面临的挑战。Markdowner作为一款专业的网站内容提取工具,能够将任何网页转换为适合AI数据处理的Markdown格式,大大提升了内容管理的效率。无论您…

张小明 2026/1/22 13:18:44 网站建设