- 博客(274)
- 资源 (42)
- 收藏
- 关注
原创 C/C++函数定义及函数调用
本文讨论了C语言中函数定义、声明和调用的语法规则。函数定义需要数据类型前缀并直接跟{}代码块(如void main(){});函数声明以分号结尾(如void FunTemplate(););函数调用不能带类型前缀,标准形式为函数名+()+;。特别分析了函数指针调用(*ode_Fun)()的语法,强调解引用操作符和参数传递的规范。文章系统梳理了三种函数相关语法的关键区别特征。
2026-01-03 13:26:54
281
原创 C/C++语言独立有效代码行,如何确定是真正的一个独立的有效代码行?
C语言代码行数的判定不以物理换行为准,而是以语法结构为界。预处理指令(如#define)、变量声明、函数调用等以分号或大括号为结束标志,每个完整语句算作一行。宏定义虽然可能跨多行,但整体视为一行;注释和空行不计入有效代码行。复杂语句(如带多个参数的函数声明)即使跨多行仍算作单行代码。代码格式的自由性使得物理行数与逻辑行数常不一致,实际统计时应以语法单元而非换行符为准。
2026-01-03 11:44:50
420
原创 最新:ubuntu上源码安装llvm,还没有成功
摘要:下载LLVM 18.1.8压缩包并解压,对比之前失败的20版本安装。建议安装CMake工具,并预测LLVM将超越GCC和ICC编译器。安装步骤包括使用unzip解压文件,通过sudo apt安装cmake。
2025-12-31 15:52:54
159
原创 判断C代码中是否是函数调用,几种异常情况处理
这种情况也不好处理,因为本质上这只是一个函数声明。上面这种Return,尽管不调用也不能删除。等于号不可怕,就怕有换行就麻烦了。
2025-12-31 15:51:35
426
原创 Linux C,C++代码中#ifdef,在编译时的处理示例
摘要:本文通过示例代码演示了C语言宏定义(#ifdef)的用法。当定义TIME宏时,代码会执行计时功能;定义XXX宏时,会输出特定文本。使用gcc编译时,通过-D参数可定义宏(如-DXXX),未定义时输出默认内容。实验表明,编译时定义宏与代码中直接定义效果相同。文章简要说明了宏定义在条件编译中的应用。
2025-12-29 01:15:00
192
原创 删除C代码中的注释,并保持原文件格式
本文介绍了WRF项目中删除C代码注释的Python实现方法。通过分析重点研发计划课题需求,设计了一个函数removeCommentsOfC(),能够有效识别并删除"//"单行注释和"/.../"多行注释,同时保留原代码格式。测试示例展示了处理WRF代码中混合注释类型的能力,成功移除了所有注释内容。虽然当前实现能正确处理常规注释,但作者指出仍需完善异常情况处理。该代码为海洋环境预测领域的计算软件预处理提供了实用工具,可作为类似注释清理需求的参考实现。
2025-12-28 21:17:17
414
原创 WRF源码分析2:
摘要:本研究基于重点研发计划课题《面向海洋环境预测领域的高效求解技术与应用计算软件》(编号2025YFB3003605),对WRF软件进行了代码分析。项目共分析1300个源代码文件(264个C文件、1758个Fortran文件)和13000个函数(1158个C函数、10264个Fortran函数)。重点展示了化学模块中的典型函数,如C语言的Rosenbrock积分器相关函数和Fortran的chem_init等初始化函数。该分析为优化WRF软件性能提供了基础数据支持。
2025-12-28 18:31:57
568
原创 WRF源代码编码类型分析:ascii码, None, utf-8, Windows-1252
摘要:该文基于重点研发计划课题《面向海洋环境预测的高效求解技术与应用计算软件》(编号:2025YFB3003605),分析了WRF软件中的编码问题。研究发现WRF源码中存在多种编码格式(ASCII、UTF-8、Windows-1252等),在..\WRF-master\phys\module_ltng_cpmpr92z.F等文件中出现GBK解码错误(UnicodeDecodeError)。解决方法包括手动修改文件编码或跳过错误文件。研究涉及KPP化学机制、水文路由等模块的编码兼容性问题,为WRF软件优化提供
2025-12-28 15:57:26
410
原创 CFD,GPU加速效果,FUN3D GPU移植加速效果2
6个V100,37分钟。120核 16小时。单个CPU是20核的话,有25倍加速效果。120*16*60=115200核分钟,V100相对单核 是518倍加速效果。按照这个说法,应该也是5倍的加速效果。不知道是单精度还是双精度?感觉 是5倍的加速效果。6*37=222卡分钟。
2025-12-27 16:20:28
391
原创 CFD,GPU加速效果,FUN3D GPU移植效果1
NASA开发的FUN3D是一款高性能CFD求解器,广泛应用于航空航天领域。性能测试显示,单个V100 GPU的计算能力相当于180-200个Xeon Skylake核心,4个V100组成的节点性能接近700-800个CPU核心。针对理想气体RANS模拟,建议每个GPU至少分配100万个网格点。该工具的计算性能显著优于传统CPU方案,但具体表现取决于算法和网格特征。
2025-12-27 16:06:59
304
原创 paddleocr在windows11上的安装,测试,及与tesseract的对比
摘要:本文记录了PaddleOCR中文文本识别的安装与测试过程。成功安装PaddleOCR 2.4.2版本后,对测试图片进行识别,结果显示准确率明显优于Tesseract OCR。虽然PaddleOCR在个别复杂字符(如"嘹"字)识别上仍有不足,但整体表现更优,将成为后续文字识别的首选工具。测试过程详细记录了安装步骤、代码实现及识别结果分析,验证了PaddleOCR在中文识别方面的优势。
2025-11-17 00:45:00
786
原创 Tesseract-OCR 安装、中文识别示例
本文记录了Tesseract OCR安装及中文识别的曲折过程。从Pip和conda安装失败、GitHub被禁导致的下载困难,到中文语言包路径配置问题,作者逐一解决了libcurl.dll缺失、版本下载、语言包安装等难题。最终通过手动调整语言包路径和文件名使OCR功能运行,但识别效果仍不理想。整个过程展示了即使简单的OCR技术在实际应用中也会遇到诸多配置挑战,反映了技术落地的复杂性。
2025-11-17 00:15:00
394
原创 opencv, 目标检测,cv2.matchTemplate,模板匹配,多目标查找示例代码
该代码演示了使用OpenCV进行模板匹配,在一张图片中查找"相互关注"图标。通过cv2.matchTemplate函数和阈值筛选(>0.8),能准确定位目标图像位置并用红色矩形框标记。该方法适用于简单场景,更复杂情况可能需要SVM、YOLO等高级技术。代码展示了基本图像处理流程:读取图像、模板匹配、结果筛选和可视化。
2025-11-16 19:00:00
178
2
原创 OpenCV使用cv2.matchTemplate从图像中得到多个匹配结果
该代码展示了使用OpenCV进行图像模板匹配的实现过程。通过cv2.matchTemplate方法,可以在一张图片中查找与模板图片匹配的区域(相似度>80%),并用红色矩形框标记出来。虽然示例演示了基本原理,但实际应用中可能会遇到更复杂的匹配场景,需要进一步优化算法。代码最后会显示匹配结果并输出完成提示。
2025-11-16 11:16:41
427
原创 scrpy, 如何禁止第三方程序自动拉起微信广告小程序
微信等小程序禁止截屏会导致scrcpy投屏工具失效,因其依赖ADB连续截屏功能。实测发现为微信添加应用锁可绕过此限制,但会带来使用微信时的不便。
2025-11-16 10:58:09
160
原创 OpenCV使用cv2.matchTemplate从图像中选择最佳的匹配结果
本文介绍了一个图像模板匹配的实现方法。通过OpenCV库的matchTemplate函数,从1.png图像中查找2.png的位置。程序先读取两张图片,获取尺寸信息,然后使用平方差匹配算法计算相似度,最终在2.png上标记出匹配区域并显示结果。运行截图证明该方法能准确找到目标图像的位置。代码简洁有效地实现了图像模板匹配功能。
2025-11-15 13:53:51
359
原创 python函数调用,还是哪里出了Bug,真是活久见
本文探讨了使用PyAutoGUI的locateAllOnScreen函数时遇到的一个异常问题。代码目的是查找屏幕上所有匹配"log.png"图像的位置并打印坐标信息。但在处理生成器对象时,发现函数getPosFromAll中的for循环未能正确遍历button_posAll生成器对象,导致无法打印具体位置信息。虽然两次打印button_posAll都显示为相同的生成器对象,但在函数内部却无法通过迭代获取具体坐标值。这个问题表明生成器对象在传递过程中可能出现了异常情况,值得进一步研究以确定
2025-11-15 09:55:01
128
原创 多维c++ vector, vector<pair<int,int>>, vector<vector<pair<int,int>>>示例
这篇文章演示了C++中vector容器的嵌套使用。示例代码展示了如何创建和管理pair类型的vector,包括元素的添加、删除和遍历操作。重点演示了使用for(auto currentVector:vec2)语法遍历二维vector的方法,以及如何输出各个pair元素的first和second值。代码还涉及vector的size获取、pop_back操作和emplace_back方法的使用。通过这个示例,可以学习vector容器的基本操作和嵌套结构的数据访问方式。
2025-10-29 23:46:46
250
原创 openMP数据的线程分配策略,调度机制
本文演示了OpenMP并行循环的默认静态调度方式。代码示例使用3个线程处理11次循环迭代时,线程0处理0-3,线程1处理4-7,线程2处理8-10;当使用4个线程时,线程0处理0-2,线程1处理3-5,线程2处理6-8,线程3处理9-10。结果表明OpenMP默认采用均分策略,当不能整除时,前几个线程会多处理一个迭代任务。这种分配方式逻辑清晰,避免了复杂的调度机制。
2025-10-19 00:33:47
202
原创 omp_get_thread_num为0,真是奇怪了。
文章摘要:OpenMP并行代码示例中,#pragma omp parallel块内打印各线程号,块外打印主线程号0。添加return语句后并行块正常执行,显示所有线程号。分析表明,非并行区域默认仅主线程(0)执行,符合预期。该现象验证了OpenMP的并行机制:并行块内多线程工作,串行段单线程执行。
2025-10-18 19:51:47
236
原创 eigen, VecXd 报:task 0: Segmentation fault
摘要:调试过程中发现数组大小和索引错误。初始代码VecXd bb(3)定义3元素数组,但错误访问bb(3)。修改后正确使用bb(0)-bb(2)赋值,最终计算得范数3。主要问题在于数组越界访问,需要注意C++数组索引从0开始,有效范围是0到size-1。调试过程体现了编程中常见的数组边界错误排查。
2025-10-18 11:31:23
178
原创 scrcpy——Android投屏神器实测
5)运行.\scrcpy.exe,这玩意 真牛逼。比那些要各种账号的效果好多了。1)下载,SHIT还要VPN。3)手机打开USB调试。看起来确实可以连上。
2025-10-17 12:06:38
540
原创 Android Studio 撕开安卓手机投屏
摘要:尝试多种屏幕镜像软件失败后(包括scrcpy等),通过Android Studio成功实现设备投屏。具体步骤为:新建项目→搜索DeviceMirroring进行设置→开启USB调试→通过RunningDevices连接。最终测试效果显示投屏功能可用,但画面清晰度欠佳。该方案为传统镜像工具失效时的替代方案,适合开发者操作但存在画质损失问题。(98字)
2025-10-17 10:28:26
240
原创 天河超算上非root用户源码编译LLVM遇到的问题
摘要:在LLVM/Bolt构建过程中出现错误,cmake试图删除/usr/bin/ar等重要系统工具。经查发现CMAKE_AR和CMAKE_RANLIB变量被错误设置为系统路径(/usr/bin/ar和/usr/bin/ranlib),导致构建脚本尝试删除这些关键文件。问题出现在执行cmake --build命令时,表现为静态库libbolt_rt_hugify.a构建失败。该问题可能与Spack环境下的CMake 3.23.1配置有关,需进一步检查工具链设置并修正路径指向。虚拟机环境可能因sudo权限暂未
2025-10-08 18:36:19
576
原创 豆包的大模型真蠢!!!
这段文字记录了用户反复修改图片处理指令的过程,但始终得不到理想结果。用户要求将"block"改为"线程块"、提高清晰度,同时保持图像结构、文字大小和箭头不变。尽管多次细化要求(共修改5次指令),AI仍然无法准确执行,导致用户感到沮丧。整个过程反映了当前AI在精确理解复杂图像编辑指令方面的局限性,以及人机交互中存在的沟通障碍问题。
2025-09-28 17:50:48
152
原创 世上最全最深刻的PyAutoGUI中locateOnScreen算法分析
本文摘要: PyScreeze库提供了基于图像识别的屏幕操作功能,主要包括locateOnScreen、locateCenterOnScreen等核心函数。其实现原理分为Pillow和OpenCV两种方式:Pillow版本通过逐像素比对实现,而OpenCV版本则利用cv2.matchTemplate进行模板匹配,后者支持置信度参数。当图像未找到时,可选择抛出ImageNotFoundException或返回None。该库支持灰度处理、区域限定等参数,并通过文件对象管理优化资源使用。OpenCV实现方式性能更
2025-08-30 21:57:44
1286
原创 将多个任务分到1内存条好,还是分到多内存条好?
本文讨论了服务器内存配置的优化策略,指出AI应用推高了内存需求,使价格占比降低。建议优先考虑内存通道数量而非容量,16通道优于12通道。同时指出V100SXM显卡因需要专用底板导致二手价格低廉。在采购计算节点时,建议根据CPU型号选择内存通道配置,而非单纯比较总容量。
2025-08-01 00:15:00
181
原创 AI4S的专家讨论,感觉不乐观
AI4S在科学计算领域面临诸多挑战:1)目前尚未形成主流应用场景,性能功耗比要求限制了架构发展;2)现有研究存在为发论文而编造数据的现象,尤其在复杂流体计算领域AI方法难以应对高雷诺数问题;3)农业水利等专业计算需处理多变量稀疏矩阵,更依赖传统CPU计算;4)AI4S本质是利用HPC样本进行结果拟合,存在精度和泛化性局限,难以替代HPC主导领域(如流体模拟);5)更适用于设计类"大概齐"计算场景(如新材料设计)或固定模式的重复性任务,而难以解决高维度科学计算问题(如任意Ax=b求解)。当
2025-08-01 00:15:00
320
原创 微信聊天记录:秦汉两千年以来缺乏价值观的多样化,导致内卷严重
摘要: 文章探讨了人类太空移民的必要性(如应对大灭绝)与可行性(火星可行,太阳系外受物理限制),同时反思科研工作者的精神压力与中国传统管理中的“香蕉激励”模式。作者指出,功名利禄是主流价值追求,但个人需学会内求与平衡,否则在无止境的竞争中难以获得真正的舒适。
2025-07-31 10:10:24
192
原创 宇航学报:国防科大等7家优势单位全球首次提出太空超算概念
国防科大等7家单位联合在《宇航学报》发表全球首篇太空超算研究论文,系统性提出太空超算概念,将其定位为支撑太空殖民的关键信息基础设施。研究解构了体系架构、兆瓦级发电等11项核心技术挑战,提出P级验证系统5年建成、30年产业化的发展路径。该技术可支持深空探测实时计算、林火秒级预警等应用,将成为牵引下一代信息技术发展的新动力。团队由国防科大、国家超算天津中心等国内顶尖机构组成,填补了这一新兴领域的理论空白。
2025-07-31 09:40:53
1483
原创 pluto, main函数分析
该代码位于/home/a/src/a1.pluto/pluto/tool/main.cpp,引用了多个库文件,包括数学支持、Pluto框架相关以及OSL、CLAN和PET等外部库。项目包含简单和复杂两种构建方式,涉及循环优化和程序转换功能。主要处理程序分析、优化和转换任务,可能用于高性能计算领域的代码优化工作。
2025-07-22 20:22:12
244
原创 pluto代码分析,累死我了
结构体struct pet_scop在pet.h中,grep好像有点问题。使用PET或者CLan读取文件?这是啥玩意,输入是文件,输出是啥?1)main函数在tool/main.cpp里面。pluto_tile在lib/tile.c中。pluto代码其实很复杂了。要看懂,需要对代码进行仔细的分析。也不容易,需要深入了解代码和原理。一步一步,到底是怎么变换的。在lib/pluto.c中。在lib/pluto.c中。3)给各种函数疯狂赋值。
2025-07-22 20:21:10
576
原创 pluto makefile, and polycc , source code analysis
摘要:本文介绍了Ubuntu下打印当前屏幕的快捷键(Alt+PrintScreen),并分析了polycc编译脚本的工作原理。polycc是一个shell脚本,通过Makefile生成,调用pluto工具进行代码转换和优化(如并行化、循环展开等)。脚本包含参数处理、文件操作和错误处理逻辑,最终生成优化后的代码文件。实际编译命令示例展示了pluto工具的使用方式,该工具位于pluto/tool目录下,包含多个源代码和对象文件。
2025-07-19 00:00:00
438
原创 pluto, polycc, --help, example
Polycc 使用摘要 polycc 是一个基于多面体模型的循环优化编译器,主要功能包括: 支持多种依赖分析工具(libpet/clan)和 ILP 求解器(ISL/PIP) 提供丰富的优化选项:平铺(tile)、并行化(OpenMP)、向量化、循环展开等 典型使用方式:polycc input.c --pet -o output.c,其中--pet指定使用libpet进行多面体提取 示例显示对heat-2d.c进行优化时,自动检测到3层循环和11个依赖关系,完成平铺和调度优化 可通过--parallel选
2025-07-18 00:15:00
549
原创 pluto, polycc, titled, omp, test
摘要:使用gcc编译了heat-2d.c的原始版本、分块优化版本和并行版本,测试结果显示:原始版本执行时间39,823ms(4,018 MFLOPS),分块优化版本27,318ms(5,857 MFLOPS),4线程并行版本7,705ms(20,766 MFLOPS)。并行版本性能最优,分块优化也优于原始版本。编译过程中发现,若不使用PET参数,在提取多面体时会因第82行语法错误导致编译失败。
2025-07-18 00:15:00
303
进制转换,十进制,十六进制之间的正确转换工具
2009-05-26
飞鸽传书,最好用的局域网通讯工具
2008-12-13
python-2.7.10.msi, win32
2015-11-15
Fortran77和90 95编程入门
2009-06-05
如何解决MobaXterm 无法自动保存新建Session,包含v20.3的Custom.mxtpro
2024-11-05
后摩尔时代国产高性能并行应用软件生态建设综述
2022-11-08
numpy-1.11.2-cp27-none-win32.whl
2016-10-08
python把0到n-1这些数随机打乱得到的一个数字序列
2018-07-08
numpy-1.11.2.tar.gz
2016-10-16
寒假趣事——滑雪大欢乐
2020-04-26
读《公主传奇》有感.docx
2020-04-26
PythonScript_1.0.8.0.msi
2016-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅