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

做网站办什么营业执照百度网站怎么优化排名靠前

做网站办什么营业执照,百度网站怎么优化排名靠前,做外贸在什么网站最好,什么软件可以制作图片加文字【Linux系统】开发工具(上) {软件包管理器yum,更新yum源,文本编辑器vim,vim的三种基本模式,vim指令集,代码编译器gcc/g} 四、Linux调试器:gdb 4.1 debug模式 程序的编译模式有两种,debug模式和…

【Linux系统】开发工具(上) {软件包管理器yum,更新yum源,文本编辑器vim,vim的三种基本模式,vim指令集,代码编译器gcc/g++}


四、Linux调试器:gdb

4.1 debug模式

  • 程序的编译模式有两种,debug模式和release模式
    • debug模式:加入了调试信息,使程序可已被调试。但体量较大,运行较慢。
    • release模式:可执行程序中没有调试信息,不可被调试。但程序体量小;且编译器对程序做相关优化,运行速度快。
  • Linux gcc/g++编译出来的二进制程序,默认是release模式
  • 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项

4.2 如何使用?

  1. debug模式编译

    • gcc -g test.c -o test.out
      
  2. 进入gdb模式

    • gdb test.out
      
  3. 基本操作

    1. 运行程序:r或run
    2. 逐过程:n或next
    3. 逐语句:s或step
    4. 执行完成当前函数:finish
    5. 执行到下一个断点处:c或continue
    6. 执行到指定行:until 行号
  4. 显示源代码:l或list

    1. 显示指定行的源代码(每次10行):l/list 行号
    2. 从上次的位置开始显示:l/list
    3. 显示指定函数的源代码:l/list 函数名
  5. 断点相关

    1. 设置断点

      1. 在指定行设置断点:b/break 行号

      2. 在指定函数的入口处设置断点:b/break 函数名

    2. 查看断点信息: i b/info b

    3. 删除断点:d 断点号

    4. 删除所有断点:delete breakpoints

    5. 禁用断点:disable 断点号

    6. 启用断点:enable 断点号

  6. 监视器

    1. 临时显示变量或表达式的值:p/print 表达式
    2. 监视变量或表达式的值:display 表达式
    3. 取消监视变量或表达式的值:undisplay 表达式编号
    4. 显示当前栈帧局部变量的值:i/info locals
    5. 调试时修改变量的值:set var 变量=#
  7. 调用堆栈

    1. 查看各级函数调用及参数:bt/breaktrace
  8. 退出gdb:quit 或 ctrl + d


五、Linux项目自动化构建工具:make/Makefile

5.1 什么是make/Makefile?

  • make/Makefile用于维护文件和文件之间的相互依赖关系,由多文件形成可执行程序。简单来说,make/Makefile用于进行多文件编译

  • makefile文件

    • 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。
    • makefile是一个文件,记录了文件间的依赖关系和依赖方法。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
  • make命令

    • make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。
    • make是一条命令,makefile是一个文件,两个搭配使用,完成项目的自动化构建。

5.2 如何写Makefile文件?

1. 规则模板

img

2. 写明依赖关系和依赖方法

  • 一般写法
    在这里插入图片描述

    • 依赖关系:上图中可执行程序mycode的生成依赖于mycode.c源文件

    • 依赖方法:gcc -o mycode mycode.c就是对应的依赖关系

    注意:写依赖方法前要加Tab进行缩进

  • 特殊符号简写
    在这里插入图片描述

    • $@:表示目标文件(图中的mycode文件)
    • $^:表示所依赖的文件列表(图中的mycode.c文件)

3. 写明项目清理方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5xYX3NyS-1680169559237)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230328115148743.png)]

  • 有时工程是需要被清理的,以便重新编译。
  • make扫描Makefile文件的时候,默认会形成一个目标依赖关系,一般是第一个!在执行make空命令时,会自动执行目标依赖关系。
  • 像clean这种,没有被第一个目标文件直接或间接关联,那么它后面所定义的命令将不会被自动执行,不过,我们可以显式的要求make执行。即命令——“make clean”,以此来清除所有的目标文件,以便重新编译。
  • .PHONY:用于修饰对应的符号,表示伪目标。被修饰的符号总是可以被执行。

5.3 多文件编译

  • 多文件编译的框架:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hr1RRsfg-1680169559242)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230330152410704.png)]

  • 编写src目录下的makefile文件

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8eylKrS0-1680169559243)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230329204336079.png)]

    生成目标文件:将各源文件编译成目标文件,并将生成的目标文件移动到obj目录下。

  • 编写obj目录下的makefile文件

    img

    生成可执行程序:将所有目标文件与库文件进行链接,形成可执行程序。并将生成的可执行程序移动到bin目录下

  • 编写项目主目录下的Makefile文件

    img

    总控:全局:先后到src和obj目录下生成目标文件和可执行程序。还可以进行项目清理,以便重新生成。

  • 为什么要分两步编译?

    • 程序编译一般分两步:.c->.o,.o->.out

    • 分两步两步编译是因为:如果其中某个源文件存在问题,调试修改后只需要将这个存在问题的源文件重新编译成目标文件即可。其他h的目标文件直接链接,不用再次编译

    • 如果一步直接.c->.out其中的.o文件没有保存,则若每次修改其中某个.c文件都需要把所有文件都重新编译一次浪费时间。


六、Linux小程序:进度条

6.1 行缓冲区

#include <stdio.h>
int main()
{
printf("hello Makefile!");
sleep(3);
return 0;
}
  • printf已经执行,但是数据没有被立即刷新到显示器上。

  • 显示器设备的刷新策略是行刷新,即遇到\n进行刷新。

  • 使用printf输出的字符串只有遇到换行符\n才会刷新到显示器。在此之前字符串会被暂存在此C程序的行缓冲区中。

  • 当然,我们也可以使用fflush函数将缓冲区中的数据立即刷新到标准输出(显示器)。

6.2 进度条代码

#include <stdio.h>                           
#include <unistd.h>                      
#include <string.h>                      int main(){                              char bar[101];                         char *label="|/-\\";                   memset(bar,0,sizeof(bar));             for(int i = 0; i <= 100; i++)          {                                      printf("[%c][%-100s][%-3d%%]\r",label[i%4],bar,i);    fflush(stdout);                      bar[i]='#';                          usleep(50000);                       }                                      printf("\n");                          return 0;                              
} 

七、代码管理平台:git

  • 常用命令

    1. git clone:将gitee云中的仓库拷贝到本地

    2. git status:查看当前仓库的状态包括:待添加的文件,待提交的文件等

    3. git log:显示当前仓库的提交记录和日志信息

    4. git add:添加文件到待提交文件列表

    5. git reset HEAD:取消设置待提交文件

    6. git commit:将待提交文件提交到本地仓库

      • git commit -m “日志信息” //提交必须填写日志信息
      • git commit -m -a “日志信息” //未添加文件而只是删除文件
    7. git push:将本地仓库中的内容上传到gitee云

http://www.hkea.cn/news/910253/

相关文章:

  • 石家庄网站建设哪家专业中国联通腾讯
  • 能访问各种网站的浏览器百度一下网页搜索
  • 自己做网站花多少钱雅虎搜索
  • 哈尔滨招标信息网网站推广优化排名教程
  • 个人可以建论坛网站吗福清网络营销
  • 济南做网站优化价格百度推广网站一年多少钱
  • 做网上商城网站哪家好杭州seo靠谱
  • 做营销网站制作关键词优化课程
  • 网站移动终端建设口碑营销成功案例
  • 美国做试管婴儿 网站推广普通话宣传语
  • 网站备案信息查询系统软文发布平台媒体
  • 泊头哪给做网站的好制作网页的教程
  • 漳州建设银行网站首页在百度上打广告找谁
  • 网站免费建站k网络营销策划方案书
  • 网站建设类公网店推广的作用
  • 安平做网站除了百度指数还有哪些指数
  • 做网站公司 蓝纤科技知乎怎么申请关键词推广
  • 临沂免费做网站发表文章的平台有哪些
  • 网站推广的方式包括哪些广西网站建设制作
  • 杭州营销网站建设东莞网站建设哪家公司好
  • 企业做营销型网站手机如何制作网页
  • 连云港网站关键词优化seo自学教程
  • 网站全站出售淘宝关键词排名怎么查询
  • 龙口市规划建设局网站查询收录
  • 学校网站建设注意什么东莞网站营销推广
  • 网站设计模板是什么百度网盘人工客服电话多少
  • wordpress文章收缩长春seo优化企业网络跃升
  • 网站地图调用希爱力双效片骗局
  • 珠海网站建设维护友情链接买卖代理
  • 武汉企业网站推广外包网络广告营销案例分析