10 2019 档案
摘要:命令的回显: 通常,make在执行命令之前都会把执行的命令进行输出,例如: 关闭命令回显有以下几种方式: 每个需要关闭回显的命令行之前加上”@”符号: 执行make时机上参数-s 或 –slient进制所有执行命令的显示。 在Makefile中使用没有以来的特殊目标时,.SLIENT也可以禁止所有命
阅读全文
摘要:多目标规则 多目标规则,可以简单的理解为是一种将多条具有1)相同依赖和2)相同生成命令的规则,合并成一条规则的语法,其基本格式为: targets...: prerequisites... commands ... 假设我们有以下makefile: 利用多目标规则,可以将makefile改写成mak
阅读全文
摘要:变量的定义 makefile中的变量,与C语言中的宏类似,它为一个文本字符串(变量的值,其类型只能是字符串类型)提供了一个名字(变量名)。 变量的基本格式: 变量名 赋值符 变量值 变量名指的就是该变量的名字,是不包括“:”、“#”、“=”、前置空白和尾空白的任何字符串。需要注意的是,尽管在GNU
阅读全文
摘要:We have a network of computers and a list of bi-directional connections. Each of these connections allows a file transfer from one computer to another
阅读全文
摘要:makefile工具箱 complicated项目的构建 文件结构如下: 文件内容如下: 项目依赖关系: gcc编译出可执行文件的过程包含了两个过程,编译和链接。 makefile如下: 运行结果:
阅读全文
摘要:在一个函数中传进一个二位数组,打印的第一种方式是求出字符串个数,然后再遍历打印。 除此之外,还可以在传入的二维数组的最后放入一个结束标志,如一位数组的最后’\0’一样,来表示二位数组的结束标识。 除了最后放”\0”以外,0和NULL也是可以的。 实际上,\0就是转义的0,两者是等价的。 而且在std
阅读全文
摘要:将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。 输入格式: 每组测试第1行包含2个正整数N和M(≤),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行
阅读全文
摘要:A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only nodes
阅读全文
摘要:An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any
阅读全文
摘要:给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。 输入格式: 输入包含若干组
阅读全文
摘要:Makefile基本概念示例 新建一个Code文件夹来测试一个简单的makefile 目录结构如下: 源码如下: makefile依赖: 一般在编写makefile之前都需要先分析清楚整个工程各个模块的依赖关系,及相应的生成命令。我们的project_simple工程最终生产的是一个叫simple的
阅读全文
摘要:make和makefile makefile文件帮助我们记录了整个项目工程的所有需要编译的文件列表,这样我们在编译时仅需要输入简单的make命令就能编译出我们期望的结果。 makefile文件反映了整个项目中各个模块的依赖关系,这样我们改动了某些源文件以后,仅需简单的输入make命令,make工具就
阅读全文
摘要:An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the
阅读全文
摘要:创建播放窗口 转化yuv SDL_ SetVideoMode设置具有指定width,height和bitsperpixel的视频模式。从SDL1.2.10开始。如果width和height都为0,他将使用当前视频模式(或桌面模式,如果没有设置模式)的宽度和高度。 现在我们在屏幕上创建一个 YUV 的
阅读全文
摘要:YUV YUV是一种颜色编码方法。 YUV 是编译 true-color 颜色空间(color space)的种类,Y'UV, YUV, YCbCr,YPbPr 等专有名词都可以称为YUV,彼此有重叠。“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度、浓度(Chrominan
阅读全文
摘要:SDL介绍 SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前 SDL
阅读全文
摘要:接下来是解析影片的帧 makefile如下: 运行结果: 完成后有很多ppm文件,可以将ppm转为jpg: 编写一个脚本转化,内容如下: 运行脚本: sh 1.sh 可以在当前文件夹下找到jpgs文件夹下找到所有转化的jpg图片。
阅读全文
摘要:我们将对帧数据做一些处理,比如将每一帧的 图像转为jpg或者bmp或者ppm等格式保存下来。 举例:在ffmpeg-2.8.8文件夹下编写test.c程序 注册ffmpeg库 这会将所有可用的文件格式和编解码器注册到我们的库中,以便在打开具有相应格式/编解码器的文件时自动使用。 注意,我们只需要 a
阅读全文
摘要:ffmpeg 工具是一个高效快速的命令行工具,进行视音频不同格式之间的转换。 ffmpeg命令行 ffmpeg可以读取任意数量的输入“文件”(可以是常规文件,管道,网络流,抓取设备等)读取,由 -i 选项指定,并写入任意数量的输出“文件” (由纯输出文件名指定,在命令行中发现的不能被解释为选项的任何
阅读全文
摘要:Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. Input Specification: Each input file contains one t
阅读全文
摘要:给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2 现给定两棵树,请你判断它们是否是同构的。 输入格式: 输入给出2棵
阅读全文
摘要:1.用宏定义时,要使用完备的括号。 示例:如下定义的宏都存在一定的风险。 正确的定义应为: 2.将宏所定义的多条表达式放在大括号里。 示例:下面的语句只有宏的第一条表达式被执行。为了说明问题,for 语句的书写稍不符规范。 正确的写法应为: 3.使用宏时,不允许参数发生变化。 示例:如下用法可能导致
阅读全文
摘要:1.单元测试要求至少达到语句覆盖。 2.单元测试开始要跟踪到每一条语句,并观察数据流及变量的变化。 3.清理、整理或优化后的代码要经审查及测试。 4.代码版本升级要经过严格测试。 5.使用工具软件对代码版本进行维护。 6.正式版本上软件任何修改都应有详细的文档记录。 7.发现错误要立刻修改,并且记录
阅读全文
摘要:1.打开编译器的所有告警开关对程序进行编译。 2.在产品软件(项目组)中,要统一编译开关选项。 3.通过代码走读及审查方式对代码进行检查。 说明:代码走读主要是对程序的编程风格如注释、命名等以及编程时易出错的内容进行检查,可由开发人员自己或开发人员交叉的方式进行;代码审查主要是对程序实现的功能及程序
阅读全文
摘要:1.在软件设计过程中构筑软件质量。 2.代码质量保证优先原则。 (1)正确性,指程序要实现设计要求的功能。 (2)稳定性、安全性,指程序稳定、可靠、安全。 (3)可测试性,指程序要具有良好的可测试性。 (4)规范/可读性,指程序书写风格、命名规则等要符合规范。 (5)全局效率,指软件系统的整体效率。
阅读全文
摘要:Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and pop randomly. You are supposed to tell if a given s
阅读全文
摘要:1.编程时要经常注意代码效率。 说明:代码效率分为全局效率、局部效率、时间效率及空间效率。全局效率是站在整个系统的角度上的系统效率;局部效率是站在模块或函数角度上的效率;时间效率是程序处理输入任务所需的时间长短;空间效率是程序所需内存空间,如机器代码空间大小、数据空间大小、栈空间大小等。 2.在保证
阅读全文
摘要:1.在同一项目组或产品组内,要有一套统一的为集成测试与系统联调准备的调测开关及相 应打印函数,并且要有详细的说明。 说明:本规则是针对项目组或产品组的。 2.在同一组或产品组内,调测打印处的信息串的格式要有统一的形式。信息串中至少要有所在模块名(或源文件名)及行号。 说明:统一的调测信息格式便于集成
阅读全文
摘要:Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6,
阅读全文
摘要:设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空
阅读全文
摘要:1.对所调用函数的错误返回码要仔细、全面地处理。 2.明确函数功能,精确(而不是近似)地实现函数设计。 3.编写可充入函数时,应注意局部变量的使用(如编写C/C++语言的可重入函数时,应使用auto即缺省态局部变量或寄存器变量)。 说明:编写C/C++语言可重入函数时,不应使用static局部变量,
阅读全文
摘要:运行结果: 二维数组指针的步长是20(5*4:5个int型数据*4bit) 编译通过,运行成功。 多维数组名的本质就是数组指针 ==》步长、一维长度。 (a+i) 代表第i行的首地址 *(a+i) 代表一级指针,第i行首元素地址 *(a+i)+j 代表a[i][j]元素 第一行的地址和第一行的首元素
阅读全文
摘要:Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, Ni+1, ..., Nj } where 1. The Max
阅读全文
摘要:给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子
阅读全文
摘要:1.去掉没必要的公共变量。 说明:公共变量时增大模块间耦合的原因之一,故应减少没必要的公共变量以降低模块间的耦合度。 2.仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。 说明:在对变量声明的同时,应对其含义、作用、及取值范围进行注释说明,同时若有必要还应说明与其他变量的关系。 3.
阅读全文
摘要:本题要求实现给定二叉搜索树的5种常用操作。 函数接口定义: 其中BinTree结构定义如下: 函数Insert将X插入二叉搜索树BST并返回结果树的根结点指针; 函数Delete将X从二叉搜索树BST中删除,并返回结果树的根结点指针;如果X不在树中,则打印一行Not Found并返回原树的根结点指针
阅读全文
摘要:1.注意运算符优先级,并用括号明确表达式的操作顺序,避免使用默认优先级 说明:防止阅读程序时造成误解,防止因默认的优先级与涉及思想不符而导致程序出错。 示例:下列语句中的表达式 如果书写为 由于 (1)(2)不会出错,但语句理解不易; (3)造成了判断条件出错。 2.避免使用不易理解的数字,用有意义
阅读全文
摘要:1.标识符的命令要清晰、明了,有明确含义,同时使用完整的单词或大家都能理解的缩写,避免使人产生误解。 说明:较短的单词可以通过去掉元音来形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。 示例:以下的单词缩写能够被大家基本认可。 temp 可缩写为 tmp ; flag 可
阅读全文
摘要:1.一般情况下,源程序有效注释量必须在20%以上。 说明:注释的原则是有助于程序的阅读理解,在改加的地方都加了,注释不能太多也不能太少,注释语言必须准确、易懂、简洁。 2.说明性文件(比如头文件.h文件、.inc文件、.def文件、编译文件.cfg等)头部应该进行注释,注释必须列出:版权说明、版本号
阅读全文
摘要:本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: 其中List结构定义如下: L1和L2是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Merge要将L1和L2合并为一个非递减的整数序列。应直接使用原序列中的结点,返回归并后的带头结点的链表头
阅读全文
摘要:本题要求实现二分查找算法。 函数接口定义: 其中List结构定义如下: L是用户传入的一个线性表,其中ElementType元素可以通过>、=、<进行比较,并且题目保证传入的数据是递增有序的。函数BinarySearch要查找X在Data中的位置,即数组下标(注意:元素从下标1开始存储)。找到则返回
阅读全文
摘要:1. 程序块要采用缩进风格编写,缩进的空格数位4。 说明:对于由开发工具自动生成的代码可以由不一致。 2. 相对独立的程序块之间、变量说明之后必须加空格。 实例:如下例子不符合规范 应如下书写: 3. 较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,
阅读全文
摘要:该项目相关知识点已经放到“网络嗅探器”标签中 下面是相关头文件 输出颜色定义 暂停或退出的信号处理 数据包 分解打印 主函数 makefile
阅读全文
摘要:一、 简介 ICMP(INTERNET CONTROL MESSAGE PROTOCOL)网络控制消息协议。 协议号为1 ICMP报文在IP报文内部 一、 ICMP类型: ICMP报文主要有两个功能:查询报文和差错报文 二、 ICMP报文头: 一、 ICMP报文的各种状态: 目的不可达报文(Dest
阅读全文
摘要:udphdr结构包含在/usr/src/linux/include/linux/udp.h udphdr->source 16位源端口 udphdr->dest 16位目的端口 udphdr->len 表示此次发送的数据报的长度,16位 udphdr->check 校验和
阅读全文
摘要:包含在/usr/src/linux/include/linux/tcp.h tcphdr->source 16位源端口 tcphdr->dest 16位目的端口 tcphdr->seq 表示此次发送的数据在整个报文段中的起始字节数。序号是32位bit的无符号数。为了安全起见,它的初始值是一个随机生成
阅读全文
摘要:iphdr->version 版本(4位),目前的协议版本号位4,也称之为IPv4 iphdr->ihl 首部长度(4位),首部长度是指IP层头部占32bit字的数目,也就是IP层头部包含多少个4字节(32b),包括任何选项,由于它是一个4bit(最大表示15)字段,因此首部最长位60个字节.普通I
阅读全文
摘要:socket() 函数原型: 参数说明: SOCK_STREAM类型: 提供有序的、可靠的、双向的和基于连接的字节流,使用带外数据传输机制,为Internet地址族使用TCP。 该种类型的套接口为全双向的字节流,对于流类套接口,在接收或发送数前必须处于已连接的状态。 用connect()调用建立与另
阅读全文
摘要:定义数组类型 数组指针 用一个指针变量指向一个数组 方法1:定义数组指针变量的方法—用(数组类型 *) 定义 方法2:直接声明数组类型指针 定义数组指针变量的第三中方法: 前两种方法通过类型定义变量
阅读全文
摘要:原型: 参数: maxfd:描述需要监视最大文件描述符+1 rdset:监视的可读文件描述符的集合 wrset:监视的可写文件描述符的集合 exset:监视的异常文件描述符的集合 struct timeval:描述一段时间长度,如果在这个时间内,需要监视的描述符没有事件发生,返回0 返回值: 超时返
阅读全文
摘要:标准套接字分为: l 流式套接字(SOCK_STREAM):面向连接的套接字,应用于TCP应用程序。 l 数据包套接字(SOCK_DGRAM):无连接的套接字,应用于UDP应用程序。 原始套接字:是一种对原始网络报文进行处理的套接字,主要用途有: l 发送自定义的IP数据包 l 发送ICMP数据包
阅读全文
摘要:图像隐写算法LSB—Least Significant Bits,又称最不显著位。LSB算法就是将秘密信息嵌入到载体图像像素值得最低有效位,改变这一位置对载体图像的品质影响最小。 原理如下: 以实验用的24位真彩图为例,每个像素用3Byte表示,每Byte分别表示R、G、B三色的亮度,亮度取值范围位
阅读全文
摘要:BMP文件格式,又称为Bitmap(位图),或是DIB(Device-Independent Device,设备无关图),是windows系统中广泛使用的图片文件格式,由于它可以不作任何变换地址保存图像像素域的数据,因为称为我们取得RAW数据的重要来源。Windows的图像用户界面也在他的内建图像子
阅读全文
摘要:BMP(Bitmap-File)图像文件,又叫位图文件,是Windows采用的图形文件格式,在Windows环境下运行的所有图像处理软件都支持BMP图像文件格式。Windows系统内部个图像绘制操作以BMP为基础的。一个BMP文件由四个部分组成。 l 位图文件头 l 位图信息段 l 调色板 l 位图
阅读全文
摘要:对于主函数的二级指针的分配赋值操作,调用函数时会用到三级指针来指向存储二级指针的内存地址
阅读全文
摘要:自定义内存,使用堆中分配内存来控制数据交换 交换指针指向的内容 交换指针指向的内存块 函数封装接口 #include<stdio.h> #include<string.h> #include<stdlib.h> int main() { char **p2 = NULL; int i,j; int
阅读全文
摘要:二级指针做输入 二级指针做输入,利用指针改变指针指向内容 如果将main函数中的字符串数组声明修改为 char myArray[10][30] = {"aaaaa","bbbbb","ccccl","1111111"}; 此时,在传入打印和排序的函数中仍然使用char ** myArray 来声明形
阅读全文