08 2019 档案

摘要:转自http://hi.baidu.com/%D2%D7%B1%D8%BA%C6/blog/item/f016729f4fbeaebbc9eaf4df.html 语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误;判定覆盖 阅读全文
posted @ 2019-08-31 09:26 邱明成 阅读(8918) 评论(0) 推荐(0) 编辑
摘要:1.使用卫语句取代嵌套表达式 函数中的条件逻辑使人难以看清正常的执行途径。使用卫语句表现所有特殊情况。 动机:条件表达式通常有2种表现形式。第一:所有分支都属于正常行为。第二:条件表达式提供的答案中只有一种是正常行为,其他都是不常见的情况。 这2类条件表达式有不同的用途。如果2条分支都是正常行为,就 阅读全文
posted @ 2019-08-30 19:51 邱明成 阅读(1149) 评论(0) 推荐(0) 编辑
摘要:作为一个传输层协议,SCTP兼有TCP及UDP两者的特点。SCTP可以称为是TCP的改进协议,但他们之间仍然存在着较大的差别。首先SCTP和TCP之间的最大区别是SCTP的连接可以是多宿主连接的,TCP则一般是单地址连接的。在进行SCTP建立连接时,双方均可声明若干IP地址(IPv4,Ipv6或主机 阅读全文
posted @ 2019-08-28 11:42 邱明成 阅读(890) 评论(0) 推荐(0) 编辑
摘要:一、内存申请 1.建议使用calloc申请内存,尽量不要使用malloc。 calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。 2.申请内存大小必须大于0. (1)使用0字节长度申请内存的行为是没有定义的,在引用内存申请函数返回地址时会引发不 阅读全文
posted @ 2019-08-25 16:54 邱明成 阅读(1121) 评论(0) 推荐(0) 编辑
摘要:简要说明:结构体成员按照定义时的顺序依次存储在连续的内存空间,但是结构体的大小并不是简单的把所有成员大小相加,而是遵循一定的规则,需要考虑到系统在存储结构体变量时的地址对齐问题。 一、没有成员的结构体占用的空间是多少个字节? 答案是:1个字节。 这就是实例化的原因(空类同样可以被实例化),每个实例在 阅读全文
posted @ 2019-08-17 23:07 邱明成 阅读(25674) 评论(0) 推荐(3) 编辑
摘要:在32位平台和64位平台上,同一种数据类型可能有不同的数据长度: 看到没, 从上面的结果可以看到不同,所以不要假定上表内颜色背景行的数据长度,因为它是会变化的。 因为系统的函数会返回上述的这些值,所以必须知道他们的大小并进行相应的防错性转换。而另外的情况,你需要跨不同平台固定数据长度数据类型的话,可 阅读全文
posted @ 2019-08-17 22:49 邱明成 阅读(5682) 评论(0) 推荐(0) 编辑
摘要:strcpy 原型声明:extern char *strcpy(char* dest, const char *src); 头文件:#include <string.h> 功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠 阅读全文
posted @ 2019-08-17 20:51 邱明成 阅读(840) 评论(0) 推荐(0) 编辑
摘要:转自:https://www.cnblogs.com/Anker/p/6079580.html 1、前言 一直在从事linux下后台开发,经常与core文件打交道。还记得刚开始从事linux下开发时,程序突然崩溃了,也没有任何日志。我不知所措,同事叫我看看core,我却问什么是core,怎么看。同事 阅读全文
posted @ 2019-08-16 09:19 邱明成 阅读(1064) 评论(0) 推荐(0) 编辑
摘要:头文件:#include <string.h>memset() 函数用来将指定内存的前n个字节设置为特定的值,其原型为: void * memset( void * ptr, int value, size_t num );参数说明: ptr 为要操作的内存的指针。 value 为要设置的值。你既可 阅读全文
posted @ 2019-08-14 15:03 邱明成 阅读(884) 评论(0) 推荐(0) 编辑
摘要:1、const 的理解 const 是C语言的一个关键字,需要注意的是,const 关键字是把变量变为一个只读的变量(也就是不可以作为左值),绝对不是将这个变量变为常量。也就是说经过const 修饰的变量成为只读的变量之后,那么这个变量就只能作为右值(只能赋值给别人),绝对不能成为左值(不能接收别人 阅读全文
posted @ 2019-08-14 14:47 邱明成 阅读(6921) 评论(1) 推荐(0) 编辑
摘要:C语言标准的发展 C语言的发展历史大致上分为4个阶段:Old Style C、C89、C99和C11. C89是最早的C语言规范,于1989年提出,1990年先由ANSI(美国国家标准委员会,American National Standards Institute)推出ANSI版本,后来被接纳为I 阅读全文
posted @ 2019-08-12 16:52 邱明成 阅读(4401) 评论(0) 推荐(1) 编辑
摘要:新特性[2]有些和C++11是对应的,如线程和UTF-8: 对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符, aligned_alloc函数以及<stdalign.h>头文件。 _Noreturn 函数标记,类似于 gcc 的 __attribute__(( 阅读全文
posted @ 2019-08-12 14:33 邱明成 阅读(2443) 评论(0) 推荐(0) 编辑
摘要:而知,低版本的gcc不支持c11。 (而我此处的eglibc 2.17,和那人的glibc-2.16.0,都是需要支持c11的gcc的) 所以此处想要去搞清楚,什么版本的,哪个版本的,gcc,才支持c11。 【解决过程】 1.google搜: gcc c11 就可以看到: 2 Language St 阅读全文
posted @ 2019-08-12 14:30 邱明成 阅读(3003) 评论(0) 推荐(1) 编辑
摘要:做C语言开发的人,经常会遇到“ANSI C”、“ISO C”与“Standard C”三种术语,经常会让人傻傻分不清楚。博主之前按也是搞不清三者的关系,于是某天下定决心,一定要搞清楚三者的关系,先百度上搜下。下面是在百度百科上搜索关键字“ANSI C”得到的结果: 分割线 ANSI C_百度百科 1 阅读全文
posted @ 2019-08-12 14:14 邱明成 阅读(3575) 评论(0) 推荐(1) 编辑
摘要:1. 问题描述 编写程序时通常会面对一些不同的编码格式,如Unicode和multibytes。在有关字符串的处理时尤其重要,系统编程时通常会遇到很多这样的问题,例如把wchar*的字符串转换为char*的字符串,有时还需要把char*类型的字符串转换为wchar*类型。下面提供几种解决方案。 2. 阅读全文
posted @ 2019-08-11 14:26 邱明成 阅读(16294) 评论(0) 推荐(4) 编辑
摘要:在C语言中,我们使用char来定义字符,占用一个字节,最多只能表示128个字符,也就是ASCII码中的字符。计算机起源于美国,char 可以表示所有的英文字符,在以英语为母语的国家完全没有问题。但是世界上存在很多不同的语言,例如汉语、汉语、日语等有成千上万个字符,需要用多个字节来表示,称之为宽字符( 阅读全文
posted @ 2019-08-11 13:36 邱明成 阅读(4845) 评论(0) 推荐(1) 编辑
摘要:Teradata在整体上是按Shared Nothing 架构体系进行组织的,他的定位就是大型数据仓库系统,定位比较高,他的软硬件都是NCR自己的,其他的都不识别;所以一般的企业用不起,价格很贵。由于Teradata通常被用于OLAP应用,因此单机的Teradata系统很少见,即使是单机系统,Ter 阅读全文
posted @ 2019-08-09 16:46 邱明成 阅读(3745) 评论(0) 推荐(0) 编辑
摘要:从本质上说,管道也是一种文件,但他又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题 限制管道的大小。实际上,管道是一个固定大小的缓冲区。在Linux中该换冲区的大小为一页,4k 使得他的大小不像文件那样不加检验的增长。使用固定缓冲区也会带来问题,比如再写管道时可能变满 当这种情况发生时 阅读全文
posted @ 2019-08-09 10:22 邱明成 阅读(1301) 评论(0) 推荐(0) 编辑
摘要:Valgrind 的介绍 Valgrind 可以用来检测程序是否有非法使用内存的问题,例如访问未初始化的内存、访问数组时越界、忘记释放动态内存等问题。在 Linux 可以使用下面的命令安装 Valgrind: 1 2 3 4 5 6 $ wget ftp://sourceware.org/pub/v 阅读全文
posted @ 2019-08-07 23:50 邱明成 阅读(4053) 评论(0) 推荐(0) 编辑
摘要:Valgrind 3.11.0编译安装 Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind遵守GNU通用公共许可证条款,是一款自由软件。到3.3.0版本为止,Valgrind支持x86、x86-64以及PowerPC上的Linux。除此之外,还有一些其它非正 阅读全文
posted @ 2019-08-07 23:42 邱明成 阅读(716) 评论(1) 推荐(0) 编辑
摘要:首先,结构在C语言中也是一种数据类型,叫做聚组类型(还包括数组)。他和其他的数据类型是一样的,在定义一个结构体的时候,系统并不会为他真正的分配内存空间(定义的结构体变量要在编译的阶段才分配空间,而结构体指针要显示的使用malloca来分配空间),也就是说,在定义结构体这种数据类型的时候是不会分配内存 阅读全文
posted @ 2019-08-04 13:40 邱明成 阅读(6367) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示