个人技术日记
songxukeNULL
这个作者很懒,什么都没留下…
展开
-
Qt 在linux上检测内存泄漏,用valgrind的问题
valgrind检测内存泄漏,进度条走完后,就结束。无法检测问题原创 2022-11-30 20:18:51 · 1237 阅读 · 0 评论 -
visual studio 2019 + Qt 开发,使用visual leak detector检测内存泄漏
visual studio 2019 + Qt 开发,使用visual leak detector检测内存泄漏原创 2022-11-27 18:44:54 · 971 阅读 · 0 评论 -
c语言中,static局部变量和static全局变量
static全局变量和static局部变量的存储区域和作用域原创 2022-11-06 09:38:37 · 2187 阅读 · 0 评论 -
Hex To Bytes 代码实现
自己实现的HexToBytes函数原创 2022-10-29 10:20:09 · 743 阅读 · 0 评论 -
ubuntu20.04 安装mysql-server 最新版本
1.安装apt-get install mysql-server2.修改mysql root 密码a.sudo mysql -u root -p原创 2021-06-01 09:57:29 · 231 阅读 · 0 评论 -
char类型数据超出范围后的溢出
int x = (char)257 + 100;printf("x = %d\n", x); //x = 101如果编译器设置的char类型为unsigned, 那么char类型的最大值为255, 二进制为11111111,再加1,成为256,二进制为00000000,发生溢出,实则为0,此时再加1,成为257,二进制为00000001,实则为1所以 x = 101...原创 2020-10-30 09:23:42 · 3262 阅读 · 0 评论 -
qt的安装
qt的新版安装可费了我不少功夫,主要是之前的卸载完后,再安装会有错误:qmake崩溃。我的解决方法是重新卸载,卸载完后删除安装目录,要删除干净,另外mingw的路径也配到path里,最后是电脑重启。终于好了另外需要配 工具->选项->构建和运行 里的配置编译的那几项...原创 2019-10-17 20:49:35 · 133 阅读 · 0 评论 -
c语言学习day05
struct s{ char a; int b;}以上代码涉及到字节对齐问题,编译器为使cpu执行效率高,采取以空间换时间的方法,一次读取int的长度结构体的变量定义顺序不同,size也不一样e.g:struct s1{ char a; int b; short e;}struct s2{ char a; shor...原创 2019-04-28 10:51:42 · 108 阅读 · 0 评论 -
c语言的学习
gcc -o o是output的意思,-v是打印详细信息在linux系统中return 0;0代表成功,其他都代表不成功gcc根据文件名的后缀调用不同的翻译模块,翻译为机器码gcc -c 直接由a.c到a.o,不用a.s再到a.ogcc -o 包括编译 链接gcc -E 预处理预处理:处理include define的内容,处理过后.i文件中已经没有include defi...原创 2019-04-21 09:39:22 · 104 阅读 · 0 评论 -
c语言学习day06
函数和数组都是一段连续的空间,不过函数具备三要素函数调用实参传给形参,是值拷贝的过程,如果是指针,拷贝的是地址值拷贝是上层调用者保护自己的空间不被修改的能力指针是变量标识的唯一身份证地址传递是上层调用者让下层函数修改自己空间的办法scanf("%d",a);//a传递的不是地址,所以a不会被改变,需要写成scanf("%d",&a)struct abc buf;...原创 2019-04-28 18:33:27 · 140 阅读 · 0 评论 -
java的学习
boolean值(true或false)是不能与1(整型)比较的java是静态语言,数组是静态的,一旦初始化长度后,长度将不会再改变;另外注意不要在初始化时既指定长度,有初始化数组内容javascript是动态语言,数组是动态的,长度可以随时发生改变对于java中的引用变量并不需要初始化,引用变量所引用的对象才需要进行初始化,也就是对象所在的堆空间在java中,所有的局部变量都放在...原创 2019-05-03 20:28:35 · 103 阅读 · 0 评论 -
c语言学习day07
函数返回值的接受过程,也是拷贝函数返回值如果没有变量接收,也会随着函数执行完而被销毁int func(int *p){}int *p;func(p);//func(p)改变不了p的值,因为是int *型的值传递,若想改变p的值,需定义成int func(int **p){};调用时写成func(&p)函数设计时,要保证函数的返回值指向的不是局部变量,因为如果是,在函数结...原创 2019-04-29 19:41:09 · 162 阅读 · 0 评论 -
6月2日的感想
底层开发的能上手的人员是少的,自己要加油,既然朝着这个方向努力,就不要停止下来。天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行弗乱其所为,所以动心忍性,增益其所不能。可以先不必追求非把某件东西弄得精通,可以先学个广的范围,再分批包围,各个击破。...原创 2019-06-02 20:59:48 · 92 阅读 · 0 评论 -
不停地malloc(0)会造成内存泄露吗
会。因为malloc的内存可能会比申请的大,申请的0,可能返回的是4字节,所以可能会造成内存泄漏。所以malloc(0)也要free原创 2019-06-24 20:01:39 · 521 阅读 · 0 评论 -
c语言学习day08
栈的作用是什么?是为了函数调用有了栈,为什么还需要堆?栈上的数据在函数结束后就被释放掉了,无法传递到函数的外部,如局部数组。在需要使用申请空间的返回地址时,就要使用堆了堆空间的管理方法有空闲链表法,位图法,对象池法等等,不同的操作系统使用的方法不同,不能依赖于malloc方法全局变量和静态局部变量会存储到静态存储区,静态存储区的信息会保存在可执行程序中程序有一份,运行一次程序出现一...原创 2019-06-30 19:21:15 · 112 阅读 · 0 评论 -
c语言学习day03
const char *p = "Hello world";//表明该字符串内容不可修改char * const p;//操作硬件时用到,例如操作lcd的缓存,指向的位置不可变,但位置中的像素的数据在不断刷新,用来显示不同颜色const char * const p;//常用来描述romvolatile主要用来修饰指针,防止被优化。例如:volatile char *pint *p...原创 2019-04-26 20:45:58 · 213 阅读 · 0 评论 -
记录s3c2440的时钟编程
记录韦东山老师讲课的内容,欢迎各位指正打开s3c2440芯片手册,看到block diagram(框图),在35页。可以判断有3部分,最上部分是cpu(ARM920T)核心,中间是AHB总线部分,H代表high,是高速总线部分,接在需要高速需要运行的设备,包括sram等内存芯片上;最下部分是APB总线部分,P是priphral.即外设,包括usb、i2c等。这就需要3种时钟,分别供cpu、AH...原创 2019-03-15 19:32:23 · 191 阅读 · 0 评论 -
黑马程序员 java中的异常处理个人总结
------- android培训、<ahref="http://edu.csdn.net/heima" target="blank">java培训、期待与您交流! ----------Exception中有一个特殊的子类异常,叫RuntimeException运行时异常:1、 如果在函数内抛出该异常,函数上可以不用声明,编译一样通过;2、 如果在函数内抛出该异常,调用时不用进行处原创 2012-09-27 15:28:59 · 277 阅读 · 0 评论 -
黑马程序员 java中的异常和包个人总结
------- android培训、<ahref="http://edu.csdn.net/heima" target="blank">java培训、期待与您交流! ----------1. Java中使用包可以实现多人协作的开发模式,另可以避免类名称重复的麻烦。2. Java中使用package关键字来将一个类放入一个包中,格式为“package包名称.子包名称;原创 2012-09-27 15:36:16 · 417 阅读 · 0 评论 -
黑马程序员 java中的线程个人总结
------- android培训、<ahref="http://edu.csdn.net/heima" target="blank">java培训、期待与您交流! ----------进程是一个正在执行中的程序,每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或叫一个控制单元。线程就是进程中的一个独立控制单元,线程控制着进程的执行,一个进程至少有一个线程。Java虚拟机启动时会原创 2012-09-27 15:43:51 · 205 阅读 · 0 评论 -
c语言的学习day02
2个byte的最大值为65535当数据的宽度有明显的限制时,必须是2个byte时,采用shortchar a = -1,a即为0xff,a>>1后,前面始终有符号“-”unsigned char a = -1,前面的“-”会当作数据位处理,当a>>1后,可能最后a就为0了无符号代表的是数据,有符号代表的是数字当表达的的数据更倾向于数据时,使用无符号u...原创 2019-04-22 19:22:44 · 235 阅读 · 0 评论 -
linux内核的配置
配置:1.打补丁:patch -pn < xxx.patch;-pn中的n指第几层目录2.配置:包括3种做法,第一种make menuconfig,一个个修改,显然如果修改的地方多,比较费时费力;第二种找到默认的配置文件,make xxx_defconfig,然后再make menuconfig;第三种是使用厂家的config文件,将该config文件修改为.config,然后放到内...原创 2019-04-06 20:57:14 · 396 阅读 · 0 评论 -
html 学习
div span都是无语义标签在合适的地方放上合适的标签,这里的标签都有自己的意义,这就叫有语义标签p标签和p标签之间的空隙比较大,此时可以使用brstrong,b:加粗em,i:倾斜del,s:删除线ins,u:下划线以上前面4个都是有语义的;b,i,s,u是用来包括小部件的,如京东网页上的购物车图标img:alt表示没有图片时的提示内容;title表示鼠标放上去...原创 2019-03-25 11:42:04 · 205 阅读 · 0 评论