- 博客(17)
- 收藏
- 关注
原创 TMS570 软件工程中使用printf
除了重定义fputs和fputc两个函数外,还需要在CCS中设置以支持printf。如果找不到"level of printf",则查看一下编译器版本选对没。
2024-09-14 19:45:00
336
1
原创 ECC(Error Checking and Correcting,错误检查和纠正)
ECC校验是一种内存纠错原理,它是比较先进的内存错误检查和更正的手段。ECC内存即纠错内存,简单的说,其具有发现错误,纠正错误的功能,这将使整个电脑系统在工作时更趋于安全稳定。
2024-09-06 19:45:00
1148
原创 C/C++混编
这里的C不是指C语言这一门语言, 而是表示一种编译和链接的规约。在C++源文件的语句前加上 extern "C" 的作用就是告诉编译器, 这一段代码按照类C的编译和链接规约来编译和链接。要想写一套C/C++均能调用的函数, 则必须按照C的方式编译 (因为C语言不支持C++, 而C++同时支持C/C++)要实现C/C++混合编程其实很简单, 只需要在头文件加几行代码即可。出问题是在链接过程时找不到被调函数的符号(gcc和g++,对函数编译出来的符号不一样,g++有函数重载所以会对函数名改名)。
2024-09-05 20:30:00
197
原创 python 依赖库名称打包进requirements文件
在项目开发中,为了方便团队成员统一环境,我们可以创建一个包含所有依赖的。这会列出当前环境中所有已安装库及其版本,并保存到。
2024-07-30 19:45:00
310
原创 STM32 双CAN筛选器设置
也就是说当CAN1上收到消息,STM32会在0~BankNumer-1这些过滤器中依次查询是否通过过滤,如果通过则将消息放入配置好的CAN1的FIFO里面等待使用,否则就丢弃。当CAN2上收到消息,STM32会在BankNumer~27这些过滤器中依次查询是否通过过滤,如果通过则将消息放入配置好的CAN2的FIFO里面等待使用,否则就丢弃。在 CAN 协议中,消息的标识符与节点地址无关,但与消息内容有关。在其他器件中,bxCAN 控制器为应用程序提供了 14 个可配置且可调整的筛选器组 (13-
2024-07-24 14:41:33
358
原创 KEIL添加模块时报错“FCARM - Output Name not specified, please check ‘Options for Target - Utilities‘”
添加模块文件时,文件类型错误,多半是使用了“Image file”,改成对应正确的类型,或者是选择“”编译就能通过。
2024-07-11 14:09:15
367
原创 宏和函数的区别
在 C 语言中,对于一些常用或通用的功能或代码段的封装可以有两种方式:函数和宏定义。那么,对于这两种方式,我们该如何抉择呢?在解决这个问题之前,有必要先来了解一下它们之间的区别。
2024-01-30 18:35:14
1875
1
原创 C标准库中不常用但很有用的函数-<stdlib.h>
/更多请阅读:https://www.yiibai.com/c_standard_library/c_function_qsort.html。任何属于该进程的打开的文件描述符都会被关闭,该进程的子进程由进程 1 继承,初始化,且会向父进程发送一个 SIGCHLD 信号。指定的命令名称或程序名称传给要被命令处理器执行的主机环境,并在命令完成后返回。您可以在任何地方注册你的终止函数,但它会在程序终止的时候被调用。搜索 name 所指向的环境字符串,并返回相关的值给字符串。当程序正常终止时,调用指定的函数。
2024-01-18 16:11:39
326
1
原创 linux 软件编译过程
需要注意的是,实际的编译过程可能会更加复杂,包括优化器的使用和多个源文件的编译等。这只是一个简化的框图,用于概述Linux应用程序编译的基本过程。将被包含在源代码中,使用"cpp demo.c > demo.i"生成预处理文件demo.i。以下是demo.i文件的内容。gcc -S 加上一步骤中生成的预编译文件将预处理源代码转换为汇编语言指令demo.s,该文件包含该 C 程序的汇编语言指令。仍然应用前几篇的demo.c为例,简要阐述一下各个过程。demo.o文件是elf格式文件,已不能编辑器打开了。
2024-01-14 08:30:00
447
1
原创 linux GDB调试功能
是由 GUN 软件系统社区提供的调试工具,同 GCC 配套组成了一套完整的开发环境,GDB 是 Linux 和许多 类Unix系统的标准开发环境。GDB可以查看代码、设断点、单步调试等跟调试有关的功能它都有,只是是以指令的形式进行而已。除了加调试信息外,还有一个该有功能都有的工具可以使用--GDB.如果你使用gcc编译出了debug版可执行文件,但没有core文件,那就使用"ulimit -c ulimited" 来开启core dump功能,并且不限制core dump文件的大小。
2024-01-13 09:37:15
595
1
原创 gcc -g 生成debug版本的作用
除了gcc demo.c -o demo,将demo.c编译成release版的可执行文件demo外,还有很多意想不到的功能。使用gcc -g和addr2line就很容易将发生segmentation fault的代码行找出来。
2024-01-11 16:47:15
756
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人