自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 linux命令学习

进入/tmp文件夹:cd /tmp,cd的意思是Change Directory,中文可理解为 “更改目录”。代码写完后,按Ctrl + X,然后按Y确认保存,最后按Enter键退出nano。查看当前目录下的内容:ls -l, ls的全称是list,-l 是选项(option),其全称是 long(英文意为 “长格式”),用于以详细列表形式展示文件信息。mkdir build:这个命令会在当前工作目录下创建一个名为 build 的新目录,mkdir 是 "make directory"(创建目录)的缩写。

2025-09-01 11:16:56 185

原创 软件研发的一些理解

5. Ubuntu中,.cpp文件修改后,要重新编译才能生效:g++ -std=c++17 openxlsx_read.cpp -o openxlsx_read -I/usr/local/include/OpenXLSX -I/tmp/ZXY/OpenXLSX-master/OpenXLSX -lOpenXLSX。OpenXlsx的编译方式查看保存的图片,注意动态库和静态库的cmake命令有区别,动态库要显示指定出type的类型,在其CMakeLisit文件中详细说明了。编译完之后,再运行。

2025-08-28 17:08:32 408

原创 写OpenXlsx接口类过程中的一些收获

vector的push_back和emplace_backs的差别。vector的reserve和resize的区别。少写不重要的判断,耗时积少成多。理解浅拷贝和深拷贝的区别。

2025-08-28 17:07:36 96

原创 git常用命令总结-自用

结果:从20250721-zhouxinyu-setPartMeshType(自己建的分支)分支切换到了release/V2025R1C06分支,且该分支与远程对应分支origin/release/V2025R1C06保持同步(up to date)。命令含义:创建一个名为 release/V2025R1C06 的本地分支,并切换到该分支。需要设置上游分支,因为新创建的分支20250801-zxy-setPartMeshType未在远程仓库中存在,git未自动将其与远程关联,所以首次推送时需要显示指定。

2025-08-28 17:05:51 505

原创 Openxlsx编译链接方法

它的作用是在程序编译和链接阶段告诉编译器:“这些函数 / 类的实现不在当前项目中,而是在某个.dll 里,链接时请关联对应的.dll”。对应目录下有Release和Debug模式下各自的.lib和.dll文件,注意release和debug的不一样,debug模式下的.dll和.lib结尾都有d,release没有。举例:同样是 10 个程序依赖 1MB 的 OpenXLSX.dll,内存中仅需加载 1 份 .dll 代码(1MB),总内存占用仅增加 1MB(远小于静态链接的 10MB)。

2025-08-28 17:01:18 1123

原创 Linux编译OpenXlsx库流程

完成这些后,会生成接口类的动态库,debug模式下的libreadXLSXLib_d.so(后缀_d)和release模式下的libreadXLSXLib.so。make 编译后,动态库默认生成在构建目录(如 build_debug 或 build_release)中,而 make install 会将其复制到 CMakeLists.txt 中 install 指令指定的路径(如 lib/debug 或 lib/release),方便后续管理和引用。

2025-08-28 16:51:11 846

原创 如何将封装好接口类导出动态库.DLL和.lib

再将接口类的.h和定义的导入导出的宏文件,和openxlsx的头文件放到一个目录下,不再作为单独的文件。接口类的.cpp先别删除,还要通过.h利用.cpp的函数实现导出.dll文件。确保配置平台一致(release/debug、看清x64还是x86)

2025-08-28 16:40:23 119

原创 Openxlsx优化前后测试代码对比

运行测试代码(a)后发现,OpenXlsx速度优势非常明显,但内存占用过大,所以研究了一下内存占用过高的原因:测试代码(a)中每次调用 worksheet()都会创建 XLWorksheet 并缓存其 XML 内容(通过 m_xmlDoc)。一开始使用OpenXIsx库进行测试时,发现open接口的速度非常快(64MB文件只用几ms),深入了解后得知OpenXlsx采用的是“延迟加载”策略,当调用Open时库实际上只做验证文件格式、解析文件结构、初始化内部数据结构的操作。

2025-08-28 16:22:21 223

原创 PAT 1049 Counting Ones

其次,存在规律是:每10个数里个位就出现1个1(1、11、21........),每100个数里十位就出现10个1(110、120、130........),每1000个数百位就出现100个1。所以123有12个10,所以个位上先有12个1,又因为此时只考虑了前12*10=120个数,剩下120-123中还存在个位数上有1的数1个,ans=12+1=13。同理123有1个100,所以十位上先有10个1,又因为只考虑了1-100,剩下101-123还有十位上有1的数字10个,所以ans=13+20。

2024-10-24 16:08:58 190

原创 C语言排序|冒泡排序、选择排序、插入排序

比如初始数组:2 3 4 1第一次冒泡:2 3 1 4,最右边的4确定是最大的了第二次冒泡:2 1 3 4,在最右边4确定是最大的基础上,确定了第二大的是3第三次冒泡:1 2 3 4,在最右边4确定是最大的基础上,第二大的是3的基础上,确定第三大的数字是2,顺其自然最小的1也被排出来了。

2024-06-04 20:17:45 303

原创 字符串的输入

如果一维char数组长度不足的情况下,用是scanf写入字符串可能导致数组越界。利用此方法,可以避免读到空格就中止字符串继续读入的尴尬。和scanf读入字符串相同相同。

2024-06-01 17:58:47 836

原创 库函数和头文件

C/C++标准中规定的,编译器自带的函数,不用自己再去单独写实现这一功能的函数。如下面的头文件中,cmath就是数学库函数,可以实现求平方根,绝对值等等功能。

2024-06-01 11:46:46 655

原创 break语句和continue语句

break出现在循环体中(for、while、do while),其作用是跳出循环;注意if是条件分支语句,不是循环语句;多重循环情况下,break只能跳出内层循环。

2024-05-31 18:04:50 178

原创 while循环和do while 循环

每执行一次循环之后们都要判断“表达式”的值是否为真,即执行循环在判断条件之前,如果为真就继续循环,如果为假,就停止循环。如果希望循环至少执行一次,就可以使用do while循环。例:输出1到10000以内所有2的整数次幂。} while(表达式);

2024-05-31 17:35:26 219

原创 随手感悟20240531_1

当某段代码想要重复若干次的时候,利用for循环;通过循环控制变量i来决定循环的次数。

2024-05-31 17:19:27 140

原创 C每日一个好习惯

最好把循环控制变量定义在“表达式1”中,则其只在for语句内部起作用,不用担心循环控制变量和其他变量名重名。

2024-05-31 17:02:44 581

原创 常变量和符号常量

在C语言中,多使用符号常量,少使用数值常量;在C++中,连符号常量也要尽可能少用,尽可能使用常变量。

2024-05-30 17:15:42 370

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除