- 博客(60)
- 资源 (7)
- 收藏
- 关注
转载 stm32常见通信方式(TTL、RS232、RS485、CAN)总结
一、TTL电平:全双工(逻辑1: 2.4V--5V 逻辑0: 0V--0.5V) 1、硬件框图如下,TTL用于两个MCU间通信 2、‘0’和‘1’表示 二、RS-232电平:全双工(逻辑1:-15V--5V 逻辑0:+...
2020-05-20 10:26:24
1084
原创 __builtin_expect(!!(x),1)
#define likely(x) __builtin_expect(!!(x),1)#define unlikely(x) __builtin_expect(!!(x),0)这两个宏的主要作用,就是告诉编译器:某一个分支发生的概率很高,或者说很低,基本不可能发生。编译器就根据这个提示信息,就会去做一些分值预测的编译优化。在这两个宏定义有一个细节,就是对宏的参数 x 做两次取非操作,这是为了将参数 x 转换为布尔类型,然后与 1 和 0 作比较,告诉编译器 x 为真或为假的可能性很高。..
2020-05-16 21:48:03
2496
原创 __builtin_return_address(LEVEL) __builtin_frame_address(LEVEL)
__builtin_return_address(LEVEL) __builtin_frame_address(LEVEL) LEVEL 只能取0 1 2......常数,不能用变量 层级太多段错误
2020-05-16 21:38:03
706
原创 linux内核中GNU C和标准C的区别
gnuc 是标准c 的扩展1. 从安全的最值定义可以想到区别有3点:1.1 支持将大括号的复合语句当成一个表达式,成为语句表达式 1.2 typeof 关键字 可以获取一个变量的类型 1.3 宏定义 可以带变参数2...
2020-05-14 22:26:52
560
原创 多线程编程-条件变量
1.引言:条件变量是一种同步机制,允许线程挂起,直到共享数据上的某些条件得到满足。条件变量上的基本操作有:触发条件(当条件变为 true 时);等待条件,挂起线程直到其他线程触发条件。 条件变量要和互斥量相联结,以避免出现条件竞争--一个线程预备等待一个条件变量,当它在真正进入等待之前,另一个线程恰好触发了该条件。2.函数说明:1)初始化条件变量pthread_...
2020-01-01 00:21:59
227
原创 深入理解C语言的函数调用过程
如果我们有个函数原型:int funtest(int x,int y int z char* ptr),在汇编层面,当调用它时栈的布局结构一般是下面这个样子:
2019-11-27 15:27:35
153
转载 backtrace 实现原理
显示函数调用关系(backtrace/callstack)是调试器必备的功能之一,比如在gdb里,用bt命令就可以查看backtrace。在程序崩溃的时候,函数调用关系有助于快速定位问题的根源,了解它的实现原理,可以扩充自己的知识面,在没有调试器的情况下,也能实现自己backtrace。更重要的是,分析backtrace的实现原理很有意思。现在我们一起来研究一下:glibc提供了一个backtr...
2019-11-26 21:41:16
6215
转载 bracktrace
转自:http://www.xuebuyuan.com/1504689.html一.用途:主要用于程序异常退出时寻找错误原因二.功能:回溯堆栈,简单的说就是可以列出当前函数调用关系三.原理:1. 通过对当前堆栈的分析,找到其上层函数在栈中的帧地址,再分析上层函数的堆栈,再找再上层的帧地址……一直找到最顶层为止,帧地址指的是一块:在栈上存放局部变量,上层返回地址,及寄存器值的空间。2....
2019-11-26 21:39:58
279
原创 006 解决段错误的方法
1 段错误通常系统发送SIGSEGV 信号,所以在自己的程序中处理该信号,用signal可以设置信号处理函数2 在信号处理函数中打印出回溯函数,有下面三个函数可用:#include <execinfo.h>int backtrace(void **buffer, int size);char **backtrace_symbols(void *const *buffer, in...
2019-11-26 20:44:24
384
转载 在Linux中如何利用backtrace信息解决问题----段错误系统发送SIGSEGV
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声...
2019-11-26 19:44:04
430
1
电子技术基础.数字部分.(康华光.第5版).pdf )
2015-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人