- 博客(81)
- 收藏
- 关注
原创 c语言 指针函数,函数指针常见问题汇总
ptr 是一个指向 const int 的指针,即指针指向的值不能被修改,但指针本身可以指向其他地址。ptr 是一个常量指针,即指针本身不能被修改(不能指向其他地址),但可以通过指针修改指向的值。(3) 指向常量的常量指针(Constant Pointer to Constant)这是一个指向函数的指针,该函数接受两个 int 参数并返回 int。ptr 是一个指向常量的常量指针,即指针本身和指向的值都不能被修改。这是一个函数,返回一个指向 int 类型的指针。
2025-03-10 11:58:35
258
原创 C语言高性能交换两个变量的值
这是最经典的交换方法,适用于所有数据类型。2. 使用算术运算通过加减法或乘除法交换值,无需临时变量。3. 使用位运算通过异或运算(^)交换值,无需临时变量。4. 使用内联汇编直接使用汇编指令交换值,适用于对性能要求极高的场景。5. 使用标准库函数C 标准库提供了 memcpy 函数,可以用于交换任意类型的数据。6. 使用 C11 泛型C11 引入了 _Generic 关键字,可以实现类型安全的交换函数。性能对比以下是几种方法的性能对比(假设在 x86 架构上):如果对性能
2025-03-05 16:01:24
265
原创 pref生成火焰图
在开始之前,确保你的Linux系统已经安装了perf工具。大多数现代的Linux发行版都提供了预编译的perf包,可以直接通过系统的包管理器安装。如果你需要更高级的功能,或者你的系统没有预编译的perf可用,你也可以选择从Linux内核源代码编译perf工具。
2025-02-28 10:50:06
251
原创 cmake通用模板
cmake本身很简单,copy我的模板直接用就好啦,对着注释,修改为自己代码目录.这里是记录一下,自己学cmake的一个通用场景.
2025-02-19 16:58:14
447
原创 FastStone 10.x 注册码
例如,在一些老旧的办公电脑上,FastStone Capture可以快速启动并进行截图操作,而不会出现明显的卡顿现象。在办公场景中,经常需要对文档、表格、幻灯片等进行截图,FastStone Capture可以方便地捕捉特定区域或者整个屏幕的内容,然后直接进行编辑、标注,例如添加注释、箭头等,以便更好地说明内容。同时,它的屏幕录制功能也可以用于录制软件的操作过程,制作教程视频等。注册码:AXMQX-RMMMJ-DBHHF-WIHTV 或 AXOQS-RRMGS-ODAQO-APHUU。
2024-12-23 19:51:44
688
转载 软件测试总结
程序+文档+数据=软件狭义的软件测试定义:为发现软件缺陷而执行程序或系统的过程广义的软件测试定义:人工或自动地运行或测定某系统的过程,目的在于检验它是否满足规定的需求或弄清预期结果和实际结果间的差别为什么要做软件测试发现软件缺陷功能错功能遗漏超出需求部分(画蛇添足)性能不符合要求软件质量高低:是否符合用户习惯、符合用户需求测试的任务找出定位修改修改后要做回归测试,对已修改的部分进行再次的测试,避免引入新的错误测试用例的定义和组成部分。
2024-11-25 11:21:49
171
原创 ASAN使用技巧
如果你有一些内存错误是预期的或者不希望ASAN报告,你可以通过设置suppressions选项来屏蔽这些错误。ASAN(AddressSanitizer)是一种强大的内存错误检测工具,它可以帮助开发者在编译和运行时捕获和调试内存相关的错误。以下是一些使用ASAN的技巧,可以帮助你更有效地利用这一工具。ASAN可以与其他内存分析工具结合使用,以提供更全面的内存错误检测。例如,如果你正在使用。通过上述技巧,你可以更加高效地使用ASAN来检测和调试内存错误,从而提高代码的质量和可靠性。
2024-11-22 16:46:35
707
1
原创 ubuntu linux搭建lvgl v9
记录一下ubuntu linux搭建 lvgl的过程查看分支:我选择的是9.2(master分支一直在变动,可能不安全,我们需要一个稳定的版本)为了保险起见,切完分支后,更新下子模块.lv_conf.h文件就在根目录下.修改下面三个宏,需要将LV_USE_LINUX_FBDEV => 0 SDL=>1953: LV_SDL_BUF_COUNT 2问题1 :cmake版本过低,没有办法,自己去升级一下.cmake版本升级方法继续:问题2 :cmake 报错 缺少sdl模块,安
2024-09-03 17:30:18
2063
原创 cmake版本升级 CMake Error: Could not find CMAKE_ROOT !!!
ubuntu默认安装cmake较低版本,但是有些开发环境需要较高的版本,这时候需要手动升级一波.
2024-09-02 10:45:38
1548
原创 重新连接 到 时出错 Microsoft Windows Network:本地设备名已在使用中
很突然,昨天连接服务器的时候,遇到这样的问题,重启服务器之后,好了,但好了一会儿后,又有同样的问题.
2024-08-14 11:13:55
3391
原创 c/c++自动生成版本信息
为了方便,假设版本信息构成:产品类型+发布日期+版本编号。版本编号首次需要新建文件,将初始版本编号写入该文件.实现每次编译时,自动更新版本信息.
2024-08-12 15:26:44
284
原创 VT100+贪吃蛇
在C语言中,控制打印颜色可以通过定义一些宏来实现,这需要利用VT100的控制符。例如,可以定义一些宏来控制前景色和背景色,如设置前景色为绿色,背景色为黑色,用的控制字符是 \033[32;40m [1][3]。此外,也可以在命令行中使用 echo 命令,或者在C程序中使用 printf 函数来输出VT100的控制字符,从而实现颜色控制。例如,要设置字体颜色,可以使用 \033[32m 这样的控制符,总的来说,无论是使用宏定义还是直接输出控制字符,都可以很方便地在C语言中控制 printf 的打印颜色。
2024-07-26 15:35:08
575
原创 Beyond Compare 4
该版由zd423基于官方简体中文版便携式制作,完全绿色便携—原生绿色便携化(无资源管理器扩展模块、数据保存至根目录)—集成专业版永久授权密钥,彻底去主界面首页下方网络资源横幅—完全禁止自动检测升级,去选项检测升级,去帮助菜单多余项—单文件可保存配置数据设置,删英文帮助文档、许可协议文本Beyond Compare 4.x 核心特性:—全新视图风格、工具栏主题、标签外观等—支持“UTF-8”字符编码和默认的文件比较折叠。
2024-07-18 15:58:55
16840
8
原创 git 文件没有修改,但一直提示有0行改动,还原也不行
git文件没有变化,一直提示文件有0行变化,代码还原也不起作用原来是文件的模式(读写可执行权限)发生了变化,内容本是没有变化.
2024-07-08 14:40:30
679
原创 阿里云服务器公网ip映射内网ip
1 阿里云服务器创建tcp 服务器,ip为ifconfig的eth0的ip(内网ip),port=8888。iptables我试过,没有效果.感觉iptables管不到公网ip那里.所以不应该从服务器内部操作(这里不借助其他工具,软件).比如下面的例子,就是将公网ip:5555端口映射到内网。默认只有一个组,自己新建或者直接修改原来的组都可以.那公网ip是谁在管理?2 pc端,起客户端.
2024-05-06 16:34:54
2408
1
原创 linux 线程相关函数
线程技术早在60年代就被提出,但是在80年代才真正使用到操作系统中。传统UNIX也支持多线程概念,但在一个进程中只允许有一个线程,这样多线程就意味着多进程。现在多线程技术已经被很多操作系统支持,包含Windows/NT,当然也包含Linux。我们知道新建立一个进程的代价是非常昂贵的,内核需要分配一个新的地址空间,建立众多的数据表来维护他的数据段/代码段等。
2024-03-29 10:54:19
700
原创 libzmq ZMQ_SERVER and ZMQ_CLIENT was not declared in this scope
官网文档_SC模型与REQ/REP构成的SC模型区别主要在S端,现在的S端回复C的时候要用到。
2024-01-11 17:10:28
619
原创 libzmq使用zmq_poller就出现 was not declared in this scope
poller相关的api接口都在里面,如果这里没有定义ZMQ_BUILD_DRAFT_API宏,poller相关的API是无法使用的.我看见tests里面有关于poller相关的测试,所以默认编译后的库,应该是支持poller的.所以我们在使用的时候,定义ZMQ_BUILD_DRAFT_API这个宏就可以了.方法一:在代码里面改。
2024-01-10 10:05:09
588
原创 c语言编译优化引发问题
如果汇编指令修改了内存,但是GCC 本身却察觉不到,因为在输出部分没有描述,此时就需要在修改描述部分增加“memory”,告诉GCC 内存已经被修改,GCC 得知这个信息后,就会在这段指令之前,插入必要的指令将前面因为优化Cache 到寄存器中的变量值先写回内存,如果以后又要使用这些变量再重新读取。2)不要将变量缓存到寄存器,因为这段代码可能会用到内存变量,而这些内存变量会以不可预知的方式发生改变,因此GCC插入必要的代码先将缓存到寄存器的变量值写回内存,如果后面又访问这些变量,需要重新访问内存。
2023-12-01 17:29:46
1280
原创 oracle VM virtualbox 自动挂载共享目录
在这里插入图片描述](https://img-blog.csdnimg.cn/a3ef43aa3a934e4691bad53874f6b427.png。第一次,要通过关机,再开机重启的方式,以后就阔以自动挂载了,okk。
2023-09-23 09:47:10
761
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人