- 博客(42)
- 资源 (6)
- 收藏
- 关注
原创 Python依赖包迁移到断网环境安装
例如,如果电脑B的Python安装在C:\Python38,而电脑A安装在D:\Python38,那么虚拟环境中的脚本可能仍然指向C盘,导致错误。不过需要注意,电脑B和电脑A的平台要一致,比如都是Windows,64位,否则下载的whl文件可能不兼容。另外,关于直接复制Python安装目录的方式:假设电脑B的Python安装在C:\Python38,直接把这个目录打包,复制到电脑A的同路径下,然后设置环境变量PATH添加C:\Python38和C:\Python38\Scripts。这取决于用户的需求。
2025-03-15 19:06:40
504
原创 ADB用于自动化测试手机应用
管理android模拟器或者真实的android设备。ADB 就是连接 Android 手机与 PC 端的桥梁。程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.通过数据线连接时,手机进入“开发者选项”,打开“usb调试”。可以通过模拟器连接,也可以通过数据线连接。* 运行设备的shell(命令行)* 计算机和设备之间上传/下载文件。里的一个工具, 用这个工具可以。* 将本地apk软件安装至。* 管理模拟器或设备的。ADB是一个 客户端-
2025-03-15 12:43:51
247
原创 C++11 可变参数模版
C++11的新特性--可变模版参数(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数、任意类型的参数。相比C++98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数无疑是一个巨大的改进。然而由于可变模版参数比较抽象,使用起来需要一定的技巧,所以它也是C++11中最难理解和掌握的特性之一。掌握可变模版参数有一定难度。template<typename... T>或者template<class... T>
2025-03-11 19:55:41
745
原创 snmp开发
SNMP是用于网络设备管理的协议,基于管理器-代理模型,使用UDP传输,端口是161和162。MIB和OID是关键概念,用来标识管理对象。协议操作有GET、SET等,版本方面需要注意v1、v2c、v3的区别。
2025-03-11 08:28:19
96
原创 C++11:工厂方法模式
而工厂方法模式通过引入抽象工厂和具体工厂,每个具体工厂负责创建对应的产品,这样新增产品时只需添加新的工厂和产品类,不需要修改已有代码,符合开闭原则。然后,我需要设计类结构。在思考过程中,我需要确保没有遗漏C++11的特性应用,比如是否还有其他的特性可以应用,比如基于范围的for循环或者移动语义等,但在这个例子中,可能主要用到的还是override、unique_ptr、auto和nullptr。比如,在简单工厂中,所有产品由一个工厂类创建,而工厂方法模式中每个产品有自己的工厂类,这样扩展性更好。
2025-02-28 18:05:37
648
原创 C++11:简单工厂模式
用户可能希望返回原始指针,但为了符合现代C++的最佳实践,使用std::unique_ptr更合适,可以自动管理内存,避免泄漏。可能还可以优化的地方:在工厂中使用std::make_unique,但C++11没有std::make_unique,它是C++14加入的。或者工厂方法中的参数比较有问题,比如大小写敏感,用户输入"circle"小写就无法匹配,但例子中可能不需要处理,保持简单。现在编写代码,注意C++11的语法,比如使用nullptr,override,unique_ptr等。
2025-02-28 17:47:41
348
原创 C++11项目记录
default函数可在类体内inline定义,也可以在类体外out-line定义,但是需要特别说明的是:default只可应用于类的6个特殊成员函数,其他成员函数不能使用=default。的方式,使用 std::ref 的方式可以实现参数在std::bind的引用。
2025-01-24 15:57:41
382
原创 程序员的利器
通用Coding Agent不可能好用,Code Review能力最难被AI替代?35岁程序员的春天来了 | 万有引力...-优快云博客
2025-01-21 17:40:59
99
原创 开源cJson用法
cJSON是一个使用C语言编写的JSON数据解析器,具有超轻便,可移植,单文件的特点,使用MIT开源协议。在键值对结构体中,当该键值对的值是一个嵌套的JSON数据或者一个数组时,由child指针指向该条新链表。/* 添加一个值为 False 的布尔类型的JSON数据(添加一个链表节点) */上面讲述,一段完整的JSON数据就是一条长长的链表,那么,如何打印出这段JSON数据呢?/* 添加一条字符串类型的JSON数据(添加一个链表节点) *//* 添加一个数组类型的JSON数据(添加一个链表节点) */
2025-01-09 14:31:14
1103
原创 DWARF
是一种用于在可执行程序和其源代码之间进行关联的调试信息存放格式。DWARF全名是Debugging With Attribute Record Formats,它支持多种编程语言,如C、OC、Go等12。
2024-11-13 12:03:37
343
原创 gdb使用
b/break funcName/类名::函数名 --------在函数开始行设置断点。b/break filename.c:123 --------在文件123行设置断电。s/step ---------- 执行下一行,如果是函数则进入函数。n/next ---------- 执行下一行代码,不进入函数。finish -------- 程序继续运行到函数返回调用点。r/run ------- 程序运行至断点。bt ------- 显示调用栈。
2024-09-06 11:06:16
253
原创 docker使用
docker cp /path/to/local/file my_container_id:/path/in/container 从容器拷贝文件到本地,或从本地拷贝文件到容器。日志记录:Docker 将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。变更管理:容器文件系统的变更可以提交到新的镜像中,并可重复使用以创建更多的容器。一个容器的镜像通常都徆小,丌适合存大量数据,存储可以通过外部挂载的方式使用。一句话:docker 叧用于计算,存储交给别人。
2024-08-26 18:42:53
377
原创 git使用
git push origin HEAD:refs/for/dev_Air 将本地仓库推送到服务器仓库。git add oms_ft/package/ut/vmp_tool/ 增加单独目录。git commit -m "testut" 将缓冲区修改提交到本地仓库。git clean -dfx 清理所有新增文件,文件夹。git add . 把所有修改的文件提交到缓冲区。
2024-08-21 10:38:32
476
原创 mockcpp用法
(2)核心关键字:指stubs/defaults/expects/before/with/after/will/then/id等这些直接跟在点后面的关键字。(3)扩展关键字:指once()/eq()/checkWith()/returnValue()/repeat()等这些作为核心关键字参数的关键字。// 从设计解耦的角度讲,应尽可能面向接口编程,而需要mock的也都是接口。// mock的类不全是虚方法, 如果调用到非虚方法,则mock框架不会报错,而是调用真正的非虚方法,可能出现内存非法访问。
2024-08-20 14:26:56
465
原创 vim快捷键
16.水平分割一个窗口::vsplit,然后使用ctrl+w+(h/j/k/l/t/b)来切换窗口,+h到左边的窗口,+j到下面的窗口,+k到上面的窗口,+l到右边的窗口,+t到顶部的窗口,+b到底部窗口。19.用单独的窗口打开需要打开的文件:vi -o test1.c test2.c test3.c。15.竖直分割一个窗口::split,然后使用ctrl+w来切换窗口。7.全部替换(每次替换需要确认)::%s/src/dst/gc。6.全部替换(替换无需确认)::%s/src/dst/g。
2024-08-12 19:14:31
708
原创 google Test实战
Google Test是一个用于C++的单元测试框架,它提供了多种测试方法,包括单元测试和功能测试。在Google Test中,可以进行FT测试主要得益于其提供的测试方法多样性和灵活性。
2024-08-12 16:22:42
264
原创 ATG(地空通信)
地面首先是要有航线沿线的5G ATG基站(略有不同),然后通过传输设备(和公网相同),连接到5G核心网(和公网相同,可单独设置)。看上去好像还行,但实际上,受各种因素影响,体验速率往往达不到这个水平。根据民航旅客服务测评(CAPSE)的调研结果显示,其中98%的乘客有上网意愿,78%的旅客会优先选择能上网的航班,63%的乘客愿意为飞机上网服务单独付费。目前,在5G ATG这块,中国移动和中国电信之间的赛跑非常激烈(中国联通可能后期会与电信共建共享),大家都在积极推动ATG的落地,试图抢占这块市场。
2024-08-08 20:15:51
1287
原创 gdb调试---Debug Hacks中文版——深入调试的技术和工具
https://www.cnblogs.com/arnoldlu/p/9649229.html
2024-04-22 17:15:07
403
原创 GPU-CPU-ARM-X86-RISC-CUDA
指令执行是指对指令进行真正运算的过程。CPU(中央处理器)通常具有较少的核心数量(一般在2到16个之间),但每个核心的性能较强,擅长执行复杂的运算和逻辑任务,如浮点计算和整数计算。CUDA编程让你可以在CPU-GPU的异构计算系统上高效执行应用程序,语法只是在C语言的基础上做了简单的扩展,在开始编程前,我们首先得理清Host和Device的概念。存储器访问指令往往是指令集中最重要的指令类型之一,访存(Memory Access)是指存储器访问指令将数据从存储器中读出,或者写入存储器的过程。
2024-03-26 19:31:36
1577
原创 神经网络深度学习梯度下降算法优化
【神经网络与深度学习】以最通俗易懂的角度解读[梯度下降法及其优化算法],这一篇就足够(很全很详细)_梯度下降在神经网络中的作用及概念-优快云博客
2024-03-25 09:57:49
624
1
原创 x86微架构
【uOps哲学三问】我是谁?——带你梳理x86微架构 - 知乎【uOps哲学三问】我来自哪里?——带你梳理x86微架构 - 知乎
2024-03-21 15:06:43
252
1
原创 TMA-自顶向下的CPU性能分析
让CPU黑盒不再黑——【TMA_自顶向下的CPU架构性能瓶颈分析方法】(一)What & Why - 知乎 让CPU黑盒不再黑——【TMA_自顶向下的CPU架构性能瓶颈分析方法】(二)How - 知乎 让CPU黑盒不再黑——【TMA_自顶向下的CPU架构性能瓶颈分析方法】(三)Frontend - 知乎让CPU黑盒不再黑——【TMA_自顶向下的CPU架构性能瓶颈分析方法】(四)Speculation - 知乎 让CPU黑盒不再黑——【TMA_自顶向下的CPU架构性能瓶颈分析方法】(五)Retiring -
2024-03-21 15:00:39
320
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人