按类别查询搜索结果
关于关键词 的检测结果,共 1037
IshuaiT | 2019-07-10 20:03:57 | 阅读(11690) | 评论(0)
yjyzfw | 2019-05-06 13:22:36 | 阅读(72990) | 评论(0)
顾名思义,零长度数组就是长度为0的数组。int a[10]; int len; int a[len]; 在这个程序中,我们定义一个变量 len,作为数组的长度。程序运行后,我们可以通过输入指定数组的长度并初始化,最后再将数组的元素打印出来。程序的运行结果如下:input array len:3 ...【阅读全文】
令狐大侠 | 2019-04-20 09:39:06 | 阅读(650) | 评论(0)
内建函数,顾名思义,就是编译器内部实现的函数。这些函数跟关键字一样,可以直接使用,无须像标准库函数那样,要 #include 对应的头文件才能使用。用来处理变长参数列表;用来处理程序运行异常;程序的编译优化、性能优化;查看函数运行中的底层信息、堆栈信息等;C 标准库函数的内...【阅读全文】
令狐大侠 | 2019-04-19 09:07:19 | 阅读(760) | 评论(0)
这一节,接着讲 __atttribute__ 属性声明,__atttribute__ 可以说是 GNU C 最大的特色。我们接下来继续讲一下跟内联函数相关的两个属性:noinline 和 always_inline。这两个属性的用途是告诉编译器:编译时,对我们指定的函数内联展开或不展开。它们的使用方法如下。static inline __attribute__((noinline))...【阅读全文】
令狐大侠 | 2019-04-18 08:59:13 | 阅读(77690) | 评论(0)
GNU C 通过 __atttribute__ 声明weak属性,可以将一个强符号转换为弱符号。编译器在编译源程序时,无论你是变量名、函数名,在它眼里,都是一个符号而已,用来表征一个地址。编译器会将这些符号集中,存放到一个叫符号表的 section 中。是时候表演真正的技术了。这时候,就需要用编译链接的原理知识来分析这个问...【阅读全文】
令狐大侠 | 2019-04-16 07:48:24 | 阅读(76700) | 评论(0)
GNU 通过 __atttribute__ 扩展的 format 属性,用来指定变参函数的参数格式检查。我们经常实现一些自己的打印调试函数。这些打印函数往往是变参函数,那编译器编译程序时,怎么知道我们的参数格式对不对呢?因为我们实现的是变参函数,参数的个数和格式都不确定。所以编译器表示压力很大,不知道该如何处理。属性...【阅读全文】
令狐大侠 | 2019-04-15 07:29:11 | 阅读(78140) | 评论(0)
7.1 属性声明:aligned通过 aligned 属性,我们可以直接显式指定变量 a 在内存中的地址对齐方式。aligned 有一个参数,表示要按几字节对齐,使用时要注意地址对齐的字节数必须是2的幂次方,否则编译就会出错。一般情况下,当我们定义一个变量,编译器会按照默认的地址对齐方式,来给该变量分配一个存储空间地址。如...【阅读全文】
令狐大侠 | 2019-04-11 07:19:31 | 阅读(2200) | 评论(0)
GNU C 增加一个 __atttribute__ 关键字用来声明一个函数、变量或类型的特殊属性。声明这个特殊属性有什么用呢?主要用途就是指导编译器在编译程序时进行特定方面的优化或代码检查。比如,我们可以通过使用属性声明指定某个变量的数据边界对齐方式。__atttribute__((ATTRIBUTE))在这些属性中,aligned 和 packed...【阅读全文】
令狐大侠 | 2019-03-22 08:02:04 | 阅读(79530) | 评论(0)
顾名思义,零长度数组就是长度为0的数组。int a[10]; int len; int a[len]; 在这个程序中,我们定义一个变量 len,作为数组的长度。程序运行后,我们可以通过输入指定数组的长度并初始化,最后再将数组的元素打印出来。程序的运行结果如下:input array len:3 ...【阅读全文】
令狐大侠 | 2019-03-20 15:02:36 | 阅读(440) | 评论(0)
表达式表达式一般用来数据计算或实现某种功能的算法。表达式有2个基本属性:值和类型。如上面的表达式2+3,它的值为5。根据操作符的不同,表达式可以分为多种类型,如:关系表达式逻辑表达式条件表达式赋值表达式算术表达式……语句是构...【阅读全文】
令狐大侠 | 2019-03-20 14:49:35 | 阅读(550) | 评论(0)
在标准 C 中,当我们定义并初始化一个数组时,常用方法如下:int a[10] = {0,1,2,3,4,5,6,7,8};比如,我们定义一个数组 b[100],其中 b[10]、b[30] 需要初始化,如果还按照前面的固定顺序初始化,{}中的初始化数据中间可能要填充大量的0,比较麻烦。int b[100] ={ [10] = 1, [30] ...【阅读全文】
yangyefeng820803 | 2018-11-20 10:19:23 | 阅读(630) | 评论(0)
1.函数功能:检查调用进程是否可以对指定的文件执行某种操作。2.函数原型:1)函数头文件#include <stdio.h>#include <unistd.h>2)函数int access(const char * pathname, int mode)3)形参pathname:需要检测的文件路劲名mode:需要测试的操作模式。4)函数返回值说明成功执行时,返回0。失...【阅读全文】
yangyefeng820803 | 2018-10-31 13:50:03 | 阅读(850) | 评论(0)
一、LibCurl基本编程框架libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。想要知道更多关于libcurl的介绍,可以到官网 http://curl.haxx.se/上去了...【阅读全文】
yangyefeng820803 | 2018-10-18 13:09:10 | 阅读(620) | 评论(0)
JSON概述   JSON: JavaScript 对象表示法( JavaScript Object Notation) 。是一种轻量级的数据交换格式。 它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式, 但是也使用了类似于C语言家族的习惯( 包括C、 C++、 C#、 Java、 JavaScript、 Perl、 Python等) 。这些特性使JSON成为理想的...【阅读全文】
【嵌入式】 Protobuf3法详解
yangyefeng820803 | 2018-10-08 21:24:58 | 阅读(620) | 评论(0)
定义一个消息类型先来看一个非常简单的例子。假设你想定义一个“搜索请求”的消息格式,每一个请求含有一个查询字符串、你感兴趣的查询结果所在的页数,以及每一页多少条查询结果。可以采用如下的方式来定义消息类型的.proto文件了:?1...【阅读全文】
sxc906210 | 2018-09-28 17:46:00 | 阅读(0) | 评论(0)
一、概念 C语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为“段位”或“位域(bit field)”。1、一个位域必须存储在同一类型单元中,不能跨两个类型单元,如果某一位域要从下一个类型单元开始存放,用:0隔开,表示长度为0的空位域,作用就是使下一个位域从下一个类型单元开始存放。...【阅读全文】
sxc906210 | 2018-09-18 17:36:51 | 阅读(0) | 评论(0)
1、概述C语言中使用rand(void)函数来产生随机数,但是一般情况下它产生的并非真正随机数,而是一个伪随机数。为了得到真正的随机数,必须先设置产生随机数时的随机数种子,随机数种子是一个动态变化的随机信号,可以是:采集的外部数据(如AD采样)、系统时间等。2、产生随机数(1)使用srand()函数设置随机数种子头文件...【阅读全文】
【嵌入式】 C问题
sxc906210 | 2018-08-23 15:41:08 | 阅读(0) | 评论(0)
1、strcpy与memcpy的原型(1)strcpy特点:只能用于复制字符串,遇到被复制字符串的结束符'\0'才结束。(2)memcpy注意:(a)考虑到指针dst和src的类型可能不同,不同类型的指针不能直接++赋值。(b)如果dst与src指向的内存空间有重叠,那么上述复制操作可能出错。...【阅读全文】
sxc906210 | 2018-08-20 16:04:01 | 阅读(0) | 评论(0)
一、字符数组初始化(1)char ch1[] = {'a','b','c'};(2)char ch2[] = {"abc"};比较:ch1有3个元素,不含字符结束标志'\0';ch2有4个元素,最后隐含结束标志'\0',即ch[3]为'\0'。二、错误的初始化方式(1)char ch[3] = {"abc"};错误原因:用字符串进行初始化时,结尾隐含结束标志'\0',因此上面会造成数组溢出!应该...【阅读全文】
【嵌入式】 C++ 享元模式
yangyefeng820803 | 2018-08-06 11:32:53 | 阅读(450) | 评论(0)
享元模式(Flyweight Pattern)运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。模式结构优缺点可以极大减少内存中对象的数量,使得相同或相似对象在内存中只保存一份,从而可以节约系统资源,提高系统性能。...【阅读全文】