笔记
B!GGer.
高新兴科技集团股份有限公司。
一起学习啊!
展开
-
交叉编译gdb
交叉编译gdb原创 2024-05-17 11:04:31 · 122 阅读 · 0 评论 -
gdb和gdbserver使用
gdb和gdbserver使用原创 2024-05-17 10:46:51 · 122 阅读 · 0 评论 -
基于({})语法实现malloc宏函数
基于({})语法实现malloc宏函数。原创 2024-04-25 15:20:35 · 109 阅读 · 0 评论 -
LINUX读取RTC实时时钟时间
LINUX读取RTC实时时钟时间原创 2024-02-21 10:03:39 · 458 阅读 · 1 评论 -
curl编译:error: call to ‘_curl_easy_setopt_err_curl_off_t‘
curl编译错误原创 2023-03-08 09:10:37 · 290 阅读 · 0 评论 -
车联网pki体系
车联网pki体系原创 2023-02-24 17:21:18 · 878 阅读 · 0 评论 -
基于libusb库和AOA协议实现通过USB与安卓设备通信
基于libusb库和AOA协议实现通过USB与安卓设备通信原创 2023-01-31 11:43:53 · 2366 阅读 · 2 评论 -
systemctl stop某个服务时,保留服务开启的子程序
systemctl stop某个服务时,保留服务开启的子程序原创 2023-01-03 11:09:50 · 262 阅读 · 0 评论 -
openssl代码生成sm2密钥对
国密非对称加密算法 又称sm2,它是采取了ECC(曲线加密算法)中的一条固定的曲线,实际上就是ECC算法。因为openssl里面不包含sm2算法,所以就要重新进行封装…对于ECC算法我就不介。国密算法--Openssl 实现国密算法(基础介绍和产生秘钥对) - 王的博客 - 博客园。转载 2022-10-11 09:01:36 · 865 阅读 · 0 评论 -
linux嵌入式设备释放缓存
linux嵌入式设备释放缓存原创 2022-09-27 08:53:09 · 306 阅读 · 0 评论 -
Linux禁止ping以及开启ping的方法
Linux禁止ping以及开启ping的方法。原创 2022-08-29 17:29:18 · 343 阅读 · 0 评论 -
linux 两数相乘超出最大表示范围
linux 两数相乘超出最大表示范围原创 2022-08-19 18:49:24 · 157 阅读 · 0 评论 -
c和c++混合编译Makefile
c和c++混合编译Makefile原创 2022-08-16 16:29:49 · 908 阅读 · 0 评论 -
Linux代码实现重启
方法2比方法1重启得更快。原创 2022-07-22 11:06:12 · 1016 阅读 · 0 评论 -
C语言日志库zlog基本使用
1、zlog的基本使用原创 2022-07-01 17:12:10 · 908 阅读 · 0 评论 -
C语言:hashTable
参考链接:https://blog.csdn.net/one_chow_chow/article/details/109561575原创 2022-06-27 18:34:43 · 311 阅读 · 0 评论 -
gdb使用遇到的一个问题
gdb原创 2022-06-14 08:43:15 · 1197 阅读 · 0 评论 -
编译选项 -fvisibility=hidden
Linux 下 GCC 编译共享库控制导出函数的方法 - 小侠猫猫球 - 博客园通过一些实际项目的开发,发现这样一个现象,在 Windows 下可以通过指定 __declspec(dllexport) 定义来控制 DLL(动态链接库)中哪些函数可以导出,暴露给其他程序链接使用,哪https://www.cnblogs.com/cyberniuniu/p/5021975.html......原创 2022-06-07 08:47:39 · 542 阅读 · 0 评论 -
C语言零长数组使用
typedef struct{ char key[32]; char line[128];}INI_LINE_S;INI_LINE_S lines[] = {0}; //零长数组INI_LINE_S line1 = {"111", "11111"};memcpy(&lines[0], &line1, sizeof(INI_LINE_S));INI_LINE_S line2 = {"222", "22222"};memcpy(&lines[1], &l.原创 2022-05-20 10:01:14 · 130 阅读 · 0 评论 -
sql语句基本使用
MYSQL和sqlite的差异: 增删改查语句一样,差异在某些关键字可能不同,等等 创建表: MYSQL: create table if not exists student( id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, name CHAR(32) NOT NULL UNIQUE, num CHA...原创 2022-05-07 17:01:51 · 423 阅读 · 0 评论 -
MQTTX设置tls单向认证
参考:EMQ X MQTT 服务器启用 SSL/TLS 安全连接_EMQX的博客-CSDN博客_emqx 开启sslhttps://blog.csdn.net/emqx_broker/article/details/107316212原创 2022-04-08 10:22:39 · 540 阅读 · 0 评论 -
systemd创建一次性服务运行shell脚本
[Unit]Description=test shell After=test.service[Service] Type=oneshotExecStart=/home/root/test.sh [Install] WantedBy=multi-user.targettest.sh开头一定要有 #!/bin/sh 否则服务启动失败 (code=exited, status=...原创 2022-04-07 17:28:52 · 1339 阅读 · 0 评论 -
libcurl实现获取内容长度、请求文件(断点续传)
int curlApi_download(char *url, char *filePath){ CURL *curl = NULL; CURLcode code = 0; double conLen = 0; //必须为double类型 long downloadedSize = 0; int ret = 0; curl = curl_easy_init(); if(NULL == curl) { return -1; } FILE *fp = fopen(filePa.原创 2022-04-02 15:10:52 · 1106 阅读 · 0 评论 -
linux制作install.bin
1、编写自动升级脚本update.sh关键脚本函数decompress(){ #$0表示参数0,即脚本本身 END_LINE=`awk '/^exit 0$/ {print NR + 1; exit 0; }' $0` #获取exit 0行的行号再加1 if [ $1 ]; then tail -n+$END_LINE $0 > ./test.tgz #分离tgz else tail -n+$END_LINE $0 | tar xz -C / #不分离tgz直原创 2022-04-02 10:18:44 · 188 阅读 · 0 评论 -
systemctl stop某个服务时,保留服务开启的子程序
systemctl stop某个服务时,保留服务开启的子程序 - bert_qin - 博客园背景 有一个web服务由systemctl控制。 现在要通过web页面升级程序。 升级前要停掉web服务,否则无法更新web相关的文件。 执行systemctl stop web时,升级程序也被杀死了https://www.cnblogs.com/real-bert/p/14849338.html...转载 2022-04-02 09:58:12 · 124 阅读 · 0 评论 -
Linux共享内存通用接口(进程通信)
Linux共享内存原创 2022-03-16 19:03:22 · 402 阅读 · 0 评论 -
Linux信号量通用接口(进程同步)
Linux信号量原创 2022-03-16 18:49:04 · 404 阅读 · 0 评论 -
boa开源库使用
boa服务器原创 2021-12-24 19:08:01 · 1282 阅读 · 0 评论 -
sed命令替换/覆盖匹配的行
假设./test.txt文本的内容:11111112222222test_line_onetest_line_two=/test/test.sh -a 33333334444444实例1:sed -i 's/^test_line_one.*/7777777/g' ./test.txti :插入s :取代 ^ :从行头匹配.* :匹配所有直到行尾g :[address[,address]]g 将hold space中的内容拷贝到pattern space中,原来patter...原创 2021-12-24 19:00:57 · 3350 阅读 · 0 评论 -
C语言获取wifi状态
int getWirelessStatus(char *ath, char *ssid, char *ipAddr){ int sock_fd; struct iwreq iwr; struct ifreq ifr; char buffer[32] = {0}; if (NULL == ath) { printf("ath is NULL\n"); return -1; } if ((sock_fd = so.原创 2021-12-24 19:00:05 · 1917 阅读 · 0 评论 -
解决mktime在32位的机子上溢出的问题
在32位的机子上,time_t是个4字节的值,存储的是1900年到现在的秒数,最大可存放的秒数(时间戳)到2038年多,设置的tm_year不能超过138,多了会溢出,返回异常值。解决方法:修改mktime函数的返回值类型unsigned long -> unsigned long longunsigned long long my_mktime(const unsigned int year0, const unsigned int mon0, const unsign原创 2021-08-05 14:22:20 · 1215 阅读 · 0 评论 -
SQLite: INSERT OR REPLACE
一、说明遇到需要批量插入和修改数据库的情况:如果该条数据不存在,则进行插入操作;否则如果存在,则进行更新操作。使用INSERT OR REPLACE命令即可满足需求语句规范INSERT OR REPLACE INTO table-name (column-name,...) VALUES (column-value,...)二、具体操作1、创建UNIQUE约束UNIQUE约束: 唯一约束,防止在一个特定的列存在两个记录具有相同的值UNIQUE和 PRIMARY KEY约束有什原创 2021-07-31 12:22:38 · 1612 阅读 · 1 评论 -
cJSON解析null类型
int test(void){ char str[] = "{\"test\":null}"; printf("str:%s\n", str); cJSON *json = cJSON_Parse(str); if (json == NULL) { printf("json NULL\n"); return 0; } cJSON *test = cJSON_GetObjectItem(json, "test"); if (test->type == cJSON_NU.原创 2021-07-28 15:30:21 · 1816 阅读 · 0 评论 -
connect函数非阻塞实现
connect函数默认是长时间阻塞的,大概在一分钟左右。下面将提供3种方法达到非阻塞或缩短阻塞时间,3种方法有可能出现不同的连接结果。方法一:int netTCPConnect1(int ip,int port){ struct sockaddr_in address; int sockfd=-1; int flags=0; sockfd = socket(AF_INET,SOCK_STREAM,0); if(-1==sockfd) return -1; address.原创 2021-07-22 15:43:16 · 1209 阅读 · 0 评论 -
cJSON解析long类型
方法1:(long)(test->valuedouble)方法2:原创 2021-07-22 15:12:30 · 1853 阅读 · 0 评论 -
gethostbyname函数失败
1、问题开发过程中,发现dhcp失败后gethostbyname函数一直失败连接上网络后,也一直调用失败2、原因调用gethostbyname失败后的变量存储在h_errno中,所以不能用perror打印,需要使用herror打印,错误为Host name lookup failure。3、解决在调用gethostbyname之前,先调用res_init函数4、res_init函数原型:int res_init(void);头文件:#include <resolv.h&g原创 2021-07-03 14:31:47 · 3593 阅读 · 0 评论 -
解决linux下出现 Cannot allocate memory 的问题
说明:Linux下有个内核参数overcommit_memory,是内存分配策略,程序在启动的时候会先去申请内存。overcommit_memory此参数决定是否接受超大内存请求的条件。这个参数有三个可能的值:0:默认设置。内核执行启发式内存过量使用处理,方法是估算可用内存量,并拒绝明显无效的请求。 遗憾的是因为内存是使用启发式而非准确算法计算进行部署,这个设置有时可能会造成系统中的可用内存超载。1:内核执行无内存过量使用处理。使用这个设置会增大内存超载的可能性,但也可以增强大量使用内存任务..原创 2021-06-10 20:17:29 · 14476 阅读 · 0 评论 -
c调用c++函数
c调用c++函数:编译时,在头文件中声明#ifdef __cplusplusextern "C" {#endif /* __cplusplus */int test_func(void); //在cpp文件中定义,在c文件中要调用的函数 #ifdef __cplusplus}#endif /* __cplusplus */这样才能在c文件中调用cpp文件的函数,要不编译c文件时出现未定义的错误......原创 2021-05-14 17:24:31 · 500 阅读 · 0 评论 -
IMBR分区大小计算
IMBR分区大小计算{ "IMBR": [ { "addr_lo": "0x00010000", "len_lo": "0x00008000", "attr": "0x00000022", "name": "env" }, { "addr_lo": "...原创 2021-05-14 17:21:00 · 410 阅读 · 0 评论