笔记
文章平均质量分 87
Soky.
C语言嵌入式开发,一个大学专业与写代码基本毫无关系的程序员。
展开
-
Valgrind内存检测工具的整理-持续更新
Valgrind内存检测工具的使用下载安装调用方式[command-line]参数介绍[valgrind-options]工具模块注意事项局限本文对Valgrind内存检测工具的使用方法作一个简单的记录,其内容大部分来自官方手册,将持续更新,建议收藏。下载源码链接:https://www.valgrind.org/downloads/current.html.手册下载:https://www.valgrind.org/docs/download_docs.html.安装./autogen,原创 2021-01-24 17:25:35 · 2483 阅读 · 0 评论 -
C语言编译警告和报错整理-持续更新
本帖总结编译出现的各种warnning和error的原因,持续更新。对本帖中出现的示例函数作个简单的说明:get_char_pointer() : 返回一个char*类型。下面开始记录各种编译警告和错误警告:pointless comparison of unsigned integer with a negative constant大意为:一个无意义的比较在无符号整型和一个负数常量。警告:implicit declaration of function ‘xxxxxxx’代表隐式声原创 2021-01-17 11:01:58 · 12044 阅读 · 3 评论 -
记一次gdb调试segmentation fault
程序运行时,遇到segmentation fault,但是又没有打印到底是哪一行出现的问题,于是想到通过gdb断点调试的方法来看看,能不能找出位置。本次用到的gdb命令:break 行号 : 在具体的行号加一个断点break filename:[line/function] :在文件filename的某行或某个函数处设置断点info break:显示已经打过的断点信息step:执行一行源程序代码,如果此行代码中有函数调用,则进入该函数continue:继续执行被调试程序,直至下一个断点或程序原创 2021-01-09 13:18:44 · 1810 阅读 · 0 评论 -
浅析一级指针和二级指针、一维数组和二维数组
1、说起指针之前,先来看看下面这个例子。#include <stdio.h>#include <stdlib.h>int malloc_pointer(char *p){ if(p == NULL) { p = (char *)malloc(10); } return 0;}int free_pointer(char *p){ if(p != NULL) { free(p); p = NULL; } return 0;}int m原创 2020-12-27 21:38:34 · 2744 阅读 · 0 评论 -
解决Ubuntu下wine打开微信无法看到输入框内容
Ubuntu下使用wine打开微信无法看到输入框内容的解决办法看到网上的解决办法,分为两个:方法一:将windows的c:/windows/system32/riched20.dll复制到ubuntu下的~/.wine/drive_c/windows/system32/下,然后终端执行winecfg,选择函数库标签页,然后在新增函数库顶替里添加riched20,并且编辑为原装优先于内建,然后重启微信即可。但试过这种方法并不奏效。方法二:在终端执行winetricks riched20,让其自动原创 2020-12-13 22:01:32 · 13654 阅读 · 11 评论 -
ffmpeg命令行实现h264转yuv、bmp和jpeg
ffmpeg参数介绍h264转yuvh264转btm和jpeg参数介绍Hyper fast Audio and Video encoderusage: ffmpeg [options] [[infile options] -i infile]… {[outfile options] outfile}…Getting help:-h – print basic options-h long – print more options-h full – print all options原创 2020-12-05 11:35:33 · 3229 阅读 · 0 评论 -
基于结构体数组的快速排序
用普通的数组快速排序,改造成任意数据的排序,比如结构体数组、链表、栈的排序等。只需要在排序中调用自己的compare函数,在其中把想要排序的值做一个比较即可,代码如下:#include <stdio.h>#include <strings.h>typedef int (*Z_COMPARE)(void* obj1, int obj1size, void* obj2, int obj2size);typedef struct{ char name[20]; char b原创 2020-11-01 09:01:11 · 2316 阅读 · 0 评论 -
FTK的list控件使用
1、list控件本身是支持滑动的,详情可以看ftk_list.c里的ftk_list_on_event()函数,list控件的大致使用方法是,需要两个xul,一个xul里定义list控件本身,设置属性,并且定义一个scroll_bar,这时候list是空的。再需要另外一个list_item.xul,里面就定义list_item控件,可以自定义item里面包含什么,以及item的位置。比如:第一个xul里:<dialog x="0" y="0" w="$ww" h="$wh"> <im原创 2020-09-26 12:13:38 · 206 阅读 · 0 评论 -
函数指针的简单用法
正常函数指针的写法:int (*pfun)(int a,int b);定义一个函数指针pfun,可以指向一个int型的函数,参数也是两个int类型。比如:int fun1(int a,int b){ printf("a=%d,b=%d\n"); return 0;}int main(){ int (*pfun)(int a,int b); pfun = fun1; pfun(2,3); //会打印a=2,b=3 return 0;}使用typedef定义函数指针,是给函数指针原创 2020-08-09 11:28:15 · 257 阅读 · 0 评论