- 博客(16)
- 资源 (5)
- 收藏
- 关注
原创 C语言设置结构体对齐的方法
在C语言中,结构体的对齐是一个重要的概念,它可以影响结构体的大小和性能。C语言提供了一些关键字和宏来控制结构体的对齐。
2024-04-11 15:48:12
506
1
原创 TI-CCS编译工程生成bin文件方法
3. 点击Apply and Close关闭对话空,然后依次Clean Build, Build Project将会生成bin格式的固件。
2023-11-02 11:35:58
1207
1
原创 如何生成编译数据库compile database,实现代码智能提示
如果一个已经存在的大型工程,只需要在build目录下生成编译数据库:compile_commands.json文件即可,clangd 会扫描该文件并为当前项目中的源码生成索引。对于Cmake构建的项目,只需要在CMakeLists.txt中添加,然后执行Cmake。使用Bear工具来生成compile_commands.json。通过以下命令生成compile_commands.json。如果一个项目从0开始编写,智能提示毫无障碍。1. Makefile构建。2. Cmake构建。3. Ninja构建。
2023-09-12 08:42:27
599
1
原创 嵌入式Linux开发环境搭建
修改文件/etc/default/tftpd-hpa,用户需要指定一个目录为 tftp 根目录。若用户需要把/tftpboot 目录设置为tftp根目录,请在/etc/default/tftp-hpa 文件中的。其中“*”表示允许任何网段 IP 的系统访问该 NFS 目录.(1)安装NFS服务器端和客户端。(4) 启动NFS服务命令。(3)创建/tftpboot目录。(2)配置 tftp 服务器。(4)启动 tftp 服务。(2)修改NFS配置文件。(5)挂载nfs目录。
2023-06-19 08:59:21
142
原创 Makefile函数介绍
patsubst 函数被用来将名字列表 _text中符合 _pattern模式的名字替换为 _replacement,并将替换后的名字列表返回。addsuffix函数被用于给名字列表 _names中的每一个名字增加后缀 _suffix,并将增加了后缀 _suffix的名字列表返回。addprefix函数被用于给名字列表 _names中的每一个名字增加前缀 _prefix,并将增加了前缀的名字列表返回。filter函数被用于从一个名字列表 _text中根据模式 _pattern得到满足需要的名字列表并返回。
2023-05-24 08:43:24
278
1
原创 windows编译和安装openssl方法
5.进入源码目录,运行 ./Configure mingw64 --prefix=/d/study/open_source/openssl-1.1.1d-build-out --openssldir=/d/study/open_source/openssl-1.1.1d-build-out/openssl。3.在msys2中使用命令pacman -S perl安装perl。4.在msys2中使用命令pacman -S make安装make。6.执行make -j16编译openssl。
2023-05-20 15:26:38
869
1
原创 Linux C套接字选项SO_RCVTIMEO, SO_SNDTIMEO介绍
套接字选项SO_RCVTIMEO: 用来设置socket接收数据的超时时间;套接字选项SO_SNDTIMEO: 用来设置socket发送数据的超时时间;比如,一般情况下,调用accept/connect/send/recv, 进程会阻塞,但是如果对端异常,进行可能无法正常退出等待。如何让这些调用自动定时退出?
2023-05-13 17:06:57
674
原创 网络编程中的recv函数介绍
recv的返回值为0时,表示连接关闭,并不是说没有读到数据,因为,对于阻塞的套接字,没有读到数据,函数不会返回,会阻塞等待。flags: 一般设置为0,此时send为阻塞式发送即发送不成功会一直阻塞,直到被某个信号终端终止,或者直到发送成功为止。指定MSG_NOSIGNAL,表示当连接被关闭时不会产生SIGPIPE信号。指定MSG_DONTWAIT 表示非阻塞发送。sockfd: 通信文件描述符。len: buf的大小。
2023-05-13 16:55:55
482
原创 网络编程IP地址转换相关函数介绍
*** inet_aton()将点分十进制数的IP地址转换成为网络字节序的32位二进制数值.* 返回值:成功,则返回1,不成功返回0.*//***inet_ntoa()将网络字节序的32位二进制数值转换为点分十进制的IP地址*//***inet_addr()功能与inet_aton相同,但是结果传递的方式不同。inet_addr()若成功则返回32位二进制的网络字节序地址。*//*** 函数inet_pton跟inet_aton实现的功能类似,只是多了family参数,
2023-05-13 16:37:41
535
1
原创 解决github克隆慢的问题
原因:git clone特别慢是因为github.global.ssl.fastly.net域名被限制了。只要找到这个域名对应的ip地址,然后在hosts文件中加上ip–>域名的映射,刷新DNS缓存便可。适用各种操作系统,本次测试系统为Ubuntu 20.04.2 LTS,下载速度从几k提高到1M多。没有修改前git clone速度实在慢只有10K左右。修改后,git clone速度达到800多k。Mac的hosts文件路径也在/etc/hosts中。1、查找域名对应的ip地址,并修改hosts文件。
2023-04-27 08:26:03
1218
1
原创 C语言实现字符串格式时间转换时间戳
1.函数实现#include <string.h>#include <stdio.h>#include <time.h>/* 判断是否闰年 */#define IS_LEAP_YEAR(year) \ (((year) % 400 == 0) || ((year) % 4 == 0 && (year) % 100 != 0)) ? .
2021-11-18 13:49:23
2671
原创 PCB布线规则
孔径和焊盘尺寸:比较好的设计是将安装孔的直径略大于元件引线直径的0.15~0.3mm过孔通常当板基的厚度与过孔直径的比达到6:1时,电镀的过程将不会造成太多的问题焊盘焊盘可以是椭圆形或圆形的导线布线沿电路板边沿布设的导线,它与板边的距离不要小于0.5mm
2016-11-04 14:22:09
463
优雅地打印 HEX 数据 C语言实现
2023-08-31
TI公司的OSAL的框架在STC8系列单片机完整移植
2019-07-24
GPRS模组M26的TCP/IP应用的单片机DEMO程序
2018-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人