上一页 1 2 3 4 5 6 ··· 13 下一页

2019年5月30日

__attribute__((weak))

摘要: 情况是这样的,碰到一个棘手的问题:我们不确定外部模块是否提供一个函数func,但是我们不得不用这个函数,即自己模块的代码必须用到func函数: extern int func(void); ................... int a = func(); if( a > .....) { .. 阅读全文

posted @ 2019-05-30 15:13 怀想天空2013 阅读(417) 评论(0) 推荐(0) 编辑

静态链接和动态链接区别

摘要: 作为一名C/C++程序员,对于编译链接的过程要了然于胸。首先大概介绍一下,编译分为3步,首先对源文件进行预处理,这个过程主要是处理一些#号定义的命令或语句(如宏、#include、预编译指令#ifdef等),生成*.i文件;然后进行编译,这个过程主要是进行词法分析、语法分析和语义分析等,生成*.s的 阅读全文

posted @ 2019-05-30 15:09 怀想天空2013 阅读(20493) 评论(0) 推荐(6) 编辑

2019年5月22日

华为海思系列芯片开发学习中常见缩写详解

摘要: 1. 系统控制Hi —— HiSilicon 海思半导体公司 MPP —— Media Process Platform 媒体处理平台 MPI —— MPP Programe Interface MPP程序接口 DDR —— Double Data-Rate 双倍速率,DDR SDRAM=双倍速率同 阅读全文

posted @ 2019-05-22 09:15 怀想天空2013 阅读(2173) 评论(0) 推荐(0) 编辑

2019年5月17日

C语言const和volatile关键字

摘要: 这部分内容比较简单,我这里直接先做总结,然后通过写三个测试代码,体会其中的关键点 一、总结 1、const使得变量具有只读属性(但是不一定就是不能更改) 2、const不能定义真正意义上的常量(因为有的用const定义的变量,仍然可以更改) 3、const将具有全局生命期的变量存储于只读存储区(这个 阅读全文

posted @ 2019-05-17 17:15 怀想天空2013 阅读(955) 评论(0) 推荐(0) 编辑

指针数组(int *a[])和数组指针 (int (*a)[])

摘要: 1.对指针有关的表达式阅读遵循的规则是“从右到左、由近到远、括号优先”。 int *a[10] 从字符a开始,右侧是[10],表示a 为一个包含10个元素的数组,左侧为指针标记,表示这个数组中保存的事指针,再左边是int 表示所有的指针指向整型数据。 int (*a)[10] 从字符a开始,括号优先 阅读全文

posted @ 2019-05-17 11:42 怀想天空2013 阅读(3921) 评论(0) 推荐(0) 编辑

2019年5月8日

YUV和RGB格式单像素所占内存大小分析

摘要: 图片的大小定 义为:w * h,宽高分别为w和h 一、YUV格式 1.1.YUV420格式存储方式:先Y,后V,中间是U。其中的Y是w * h,U和V是w/2 * (h/2)举例:如果w = 4,h = 2,则:yyyyyyyyuuvv即 yyyyyyyyuuvv采样规律是:每个像素点都采样Y,奇数 阅读全文

posted @ 2019-05-08 11:51 怀想天空2013 阅读(4947) 评论(0) 推荐(0) 编辑

2019年5月7日

认真分析mmap:是什么 为什么 怎么用

摘要: mmap基础概念 mmap基础概念 mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文 阅读全文

posted @ 2019-05-07 14:49 怀想天空2013 阅读(315) 评论(0) 推荐(0) 编辑

图像处理中Stride和Width的关系

摘要: 一行有 11 个像素(Width = 11), 对一个 32 位(每个像素 4 字节)的图像, Stride = 11 * 4 = 44. 但还有个字节对齐的问题, 譬如: 一行有 11 个像素(Width = 11), 对一个 24 位(每个像素 3 字节)的图像, Stride = 11 * 3 阅读全文

posted @ 2019-05-07 14:47 怀想天空2013 阅读(1146) 评论(0) 推荐(0) 编辑

2019年4月18日

module_init的加载和释放

摘要: 像你写C程序需要包含C库的头文件那样,Linux内核编程也需要包含Kernel头文件,大多的Linux驱动程序需要包含下面三个头文件:#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h> 其中,init.h 阅读全文

posted @ 2019-04-18 17:11 怀想天空2013 阅读(421) 评论(0) 推荐(0) 编辑

__attribute__的一些相关属性

摘要: __attribute__((format())) 这个format有3个参数。 int my(NSString *str,NSString *str1,NSArray*str2,...) __attribute__((format(__NSString__,2,4))); 三个参数告诉编译器,第二 阅读全文

posted @ 2019-04-18 16:29 怀想天空2013 阅读(1939) 评论(0) 推荐(0) 编辑

内联函数 —— C 中关键字 inline 用法解析

摘要: 一、什么是内联函数 在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。 为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈 阅读全文

posted @ 2019-04-18 16:02 怀想天空2013 阅读(703) 评论(0) 推荐(0) 编辑

利用gcc的__attribute__编译属性section子项构建初始化函数表

摘要: gcc的__attribute__编译属性有很多子项,用于改变作用对象的特性。这里讨论section子项的作用。 __attribute__的section子项使用方式为: __attribute__((section("section_name"))) 其作用是将作用的函数或数据放入指定名为"se 阅读全文

posted @ 2019-04-18 15:07 怀想天空2013 阅读(733) 评论(0) 推荐(0) 编辑

2019年4月17日

Linux 内核 hlist 详解

摘要: 在Linux内核中,hlist(哈希链表)使用非常广泛。本文将对其数据结构和核心函数进行分析。 和hlist相关的数据结构有两个:hlist_head 和 hlist_node //hash桶的头结点struct hlist_head { struct hlist_node *first;//指向每 阅读全文

posted @ 2019-04-17 12:13 怀想天空2013 阅读(1622) 评论(0) 推荐(0) 编辑

2019年4月11日

#define宏定义中## #@ # \ 符号使用

摘要: C/C++ 宏命令的神奇用法。 先看下面三条语句: #define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #x1. ## 连接操作符##表示连接(token pasting, or token concatenation,mer 阅读全文

posted @ 2019-04-11 10:09 怀想天空2013 阅读(2113) 评论(0) 推荐(0) 编辑

2019年4月3日

Hi3519v101-uboot-start.S分析

摘要: 00032: #include <config.h>00033: #include <version.h> 1)#include <config.h>。config.h是在include目录下的,这个文件不是源码中本身存在的文件,而是配置过程中自动生成的文件。(详见mkconfig脚本)。这个文件的 阅读全文

posted @ 2019-04-03 16:03 怀想天空2013 阅读(914) 评论(0) 推荐(0) 编辑

2019年3月29日

广告文案:用文案讲好故事的广告是如何做?

摘要: 生活中,人们是讨厌广告的。 但是,对于品牌来说,为了让产品有销量,让品牌有知名度,广告是不得不做的。 如果广告做好了,品牌可以像热门小说、电影、电视剧一样受到观众追捧。 一个好故事可以省去大笔广告费,还可以使新品牌迅速在同类产品中脱颖而出。 对于新品牌更是如此。 就像,如果你想建一座树屋,先不要急着 阅读全文

posted @ 2019-03-29 19:26 怀想天空2013 阅读(857) 评论(0) 推荐(0) 编辑

2019年3月22日

socket技术详解(看清socket编程)

摘要: socket编程是网络常用的编程,我们通过在网络中创建socket关键字来实现网络间的通信,通过收集大量的资料,通过这一章节,充分的了解socket编程,文章用引用了大量大神的分析,加上自己的理解,做个总结性的文章 1:socket大致介绍 socket编程是一门技术,它主要是在网络通信中经常用到 阅读全文

posted @ 2019-03-22 15:17 怀想天空2013 阅读(652) 评论(0) 推荐(0) 编辑

一张非常强大的OSI七层模型图解。。。

摘要: 源自http://www.colasoft.com.cn/download/protocols_map.php,非常适合小白入门,后面罗列出来方便大家浏览记忆。。。(不经意间看到的,分享一下) OSI七层模型 相关协议 缩写 应用层 HTTP 超文本传输协议 FTP 文件传输协议 SMTP 简单邮件 阅读全文

posted @ 2019-03-22 14:29 怀想天空2013 阅读(5029) 评论(0) 推荐(1) 编辑

2019年3月13日

为什么计算机和一些电子产品的时间选择在1970.1.1

摘要: 现在计算机和一些电子设备时间的计算和显示是以距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量为标准的,如1970-1-10 20:47 偏移量为2724441632毫秒,出现类似字样说明时间被初始化了。 小知识:格林威治标准时间GMT许多人都 阅读全文

posted @ 2019-03-13 17:05 怀想天空2013 阅读(817) 评论(0) 推荐(0) 编辑

2019年2月20日

内存(RAM或ROM)和FLASH存储的真正区别总结

摘要: 1.什么是内存 什么是内存呢?在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存) 阅读全文

posted @ 2019-02-20 13:54 怀想天空2013 阅读(4747) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 13 下一页

导航