摘要:https://www.cnblogs.com/dylancao/p/9936957.html 先看几个概念: 1、bss是英文block started by symbol的简称,通常是指用来存放程序中未初始化的全局变量的一块内存区域,在程序载入时由内核清0。bss段属于静态内存分配。它的初始值也
阅读全文
摘要:https://mp.weixin.qq.com/s/LpLKxHJT3lQOd_gUptzyTQ 函数指针是一种非常强大的编程工具,它可以让我们以更加灵活的方式编写程序。 在本文中,我们将介绍 6 个函数指针的高级应用场景,并贴出相应的代码案例和解释。 回调函数 回调函数是指在某个事件发生时被调用
阅读全文
摘要:https://www.cnblogs.com/Joezzz/p/10273085.html 1.c语言中的类型 1)内置类型——char,short,int,float,double; 2)用户自定义类型(UDT)——struct结构体,union联合体,enum枚举类型 2.内存对齐 2.1概念
阅读全文
摘要:https://www.cnblogs.com/cyyljw/p/10730200.html 一、什么是内联函数 在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。 为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程式
阅读全文
摘要:https://www.cnblogs.com/cyyljw/p/10949680.html 情况是这样的,碰到一个棘手的问题:我们不确定外部模块是否提供一个函数func,但是我们不得不用这个函数,即自己模块的代码必须用到func函数: extern int func(void); ........
阅读全文
摘要:https://blog.csdn.net/weaiken/article/details/88085360 __attribute 语法的来源GNU C 的一大特色就是__attribute__ 机制。attribute 可以设置函数属性(Function Attribute)、变量属性(Vari
阅读全文
摘要:位置无关码: 写位置无关码,其实就是不使用绝对地址,判断有没有使用绝对地址,除了前面的几个规则,最根本的办法看反汇编。 转载于: https://www.cnblogs.com/zongzi10010/p/10023561.html 目录 链接脚本与重定位 总结 链接脚本格式 COMM段BSS段 e
阅读全文
摘要:https://blog.csdn.net/btoh_workstation/article/details/27510869 最终结论: 1.ALIGN对齐在汇编文件中和链接脚本中都会涉及到: 在汇编文件中,是伪操作 .align x 实现的:表示2的x次幂个字节对齐; 在链接脚本中,ALIGN关
阅读全文
摘要:https://www.cnblogs.com/jack739x/archive/2011/06/20/2085596.html B跳转指令是代码位置无关的,经过汇编后会替换为当前PC值加(减)一个修正值,不管这条指令是在哪一个地址执行,都能跳转到指定的位置。 B只能在当前PC的32M范围内跳转,L
阅读全文
摘要:转载于: https://blog.csdn.net/qq_39642794/article/details/83420396 BSS段清零的原因是因为这个段是BSS 要说为什么要有BSS的话,历史就比较久远了。 BSS段我所知道的起源是Unix最初的时候(当然,不排除可能有更早的情况)。变量分两种
阅读全文
摘要:补充:https://blog.csdn.net/XiaoXiaoPengBo/article/details/78743348 输出section描述输出section描述具有如下格式:SECTION [ADDRESS] [(TYPE)] : [AT(LMA)]{OUTPUT-SECTION-CO
阅读全文
摘要:https://www.cnblogs.com/liulipeng/archive/2013/09/12/3316576.html ARM汇编语言源程序语句,一般由指令,伪操作,宏指令和伪指令组成. ARM汇编语言的设计基础是汇编伪指令,汇编伪操作和宏指令。 伪操作,是ARM汇编语言程序里的一些特殊
阅读全文
摘要:https://blog.csdn.net/qq_33160790/article/details/75226463 第一部分 Linux下ARM汇编语法尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作 ARM的协处理器等。初始化完
阅读全文
摘要:转载于: http://www.cnblogs.com/a6948076/p/7172961.html 转载于: http://www.cnblogs.com/a6948076/p/7172961.html TCP/UDP都是OSI(计算机网络体系结构框架)模型传输层的协议。TCP(Transfer
阅读全文
摘要:转载于: http://blog.csdn.net/meic51/article/details/11820709 参考:《linux编程从入门到精通》,《Linux C程序设计大全》,《unix环境高级编程》 说明:本文非常的长,也是为了便于查找和比较,所以放在一起了 Linux 传统的进程间通信
阅读全文
摘要:在做视频监控项目,以前一直用的是2.6.36的内核,一直很正常,但是这几天换3.0.1内核,启动程序,却出现了错误,如下: 完善OK6410摄像头驱动由上面的分析可知,OK6410新版本(3.0.1)的内核的dev_open函数是有问题的,实际上他是赋值给了v4l2_file_operations结
阅读全文
摘要:Video for Linuxtwo(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有
阅读全文
摘要:http://www.cnblogs.com/chd-zhangbo/p/5516370.html
阅读全文
摘要:转载于 :http://www.cnblogs.com/chd-zhangbo/p/5516716.html •线程池就是有一堆已经创建好了的线程,当有新的任务需要处理的时候,就从这个池子里面取一个空闲等待的线程来处理该任务,当处理完成了就再次把该线程放回池中,以供后面的任务使用,当池子里的线程全都
阅读全文