- 博客(58)
- 资源 (5)
- 收藏
- 关注
原创 从自己电脑的浏览器访问阿里云主机中运行的LLaMA-Factory webui
阿里云主机上LLaMA-Factory的webui在0.0.0.0:7860侦听,无法直接打开,需要通过代理的方法访问。这种方法无需修改源码和安装frp等工具。用这个地址即可访问到webui界面。
2025-03-08 19:12:56
379
原创 mini-dog-c编译器之词法分析
mini-dog-c 是一个小型的 C 语言编译器,是我学习和理解编译器基本工作原理的实践项目。其词法分析器能够识别 C 语言的基本语法元素,包括常见的标识符、整数和浮点数字面量、布尔字面量以及字符串字面量。此外,它还支持基本的算术和逻辑操作符、比较操作符以及多种分隔符。在关键词方面,mini-dog-c 支持函数定义、变量声明、条件语句和返回语句等基本控制结构。
2025-01-05 18:34:00
522
转载 [转载]rpath和runpath的区别
因为只有rpath的情况下,一旦设置了rpath,那么在运行时,其优先级是最高的,且我们无法通过其它手段(如通过设置LD_LIBRARY_PATH等)覆盖默认的库路径,我们必须重新编译程序才能加载其它路径下的库,这对于某些情况下是很不方便的。在搜索程序或库的间接依赖时,rpath和runpath是不同的,rpath设置的路径对间接库的搜索也生效,即搜索间接库时,也会优先从rpath指定的路径中搜索。我们知道,在程序运行的时候,会依赖一些动态库,只有所依赖的库文件在运行的机器上存在,才能运行程序。
2025-01-02 18:56:16
70
原创 Ubuntu 24.04 APT源配置详解
了解Ubuntu 24.04的APT源配置对于系统管理和软件更新至关重要。通过合理配置这些源和分类,用户可以确保他们的系统获得必要的更新,同时也可以访问到更广泛的软件资源。希望本文能帮助你更好地理解和配置Ubuntu的APT源。
2024-12-24 09:26:04
1232
原创 如何在程序启动时中断?
如果要中断服务的启动,需要在windbg.exe后面加上参数:–server tcp:port=5005,中断后启动一个windbg实例作为客户端去连接服务端,就可以调试了,不过程序30秒没有报告状态会被服务管理器作超时处理,所以需要在注册表中将这个超时值设大一点,具体位置可以百度一下。通常在WinDBG中可以通过“Open Executable”指定程序、参数、启动目录来启动一个程序并中断在入口处,以便设置断点或单步跟踪。
2024-12-14 19:22:53
218
转载 【WSL】压缩虚拟机的虚拟硬盘文件(VHDX)以减少空间占用
中创建文件,虚拟硬盘的大小就会增加。但是,当删除这些文件时,虚拟硬盘的大小并不会相应减小。这是因为虚拟硬盘文件(VHDX)不会自动收缩。是 Windows 系统中的一个命令行磁盘分区工具,它可以用来创建、删除和管理驱动器或分区的大小和类型。的虚拟硬盘占用了差不多 70GB 空间,实际上虚拟机的文件系统只使用了 10GB 左右。来格式化驱动器,更改驱动器的字母,以及执行其他与磁盘和分区相关的任务。WSL2 使用的是动态硬盘,当在。操作前建议先备份 WSL 系统。启动 diskpart。打开一个新的终端窗口。
2024-11-24 18:12:53
1052
原创 利用Absolute Enable Right Click & Copy突破网站内容复制限制
许多的网站对内容复制有限制,不是要求登录就是要付费,完全违背互联网的分享精神,是可忍孰不可忍。后来找到一款firefox扩展Absolute Enable Right Click & Copy可突破绝大多数网站的限制(目前还没发现哪个网站不行)。图标,开启Enable Copy和Absolute Mode,然后选中要复制的内容Ctrl+C或点击右键菜单复制即可。使用方法:打开要复制内容的页面后,在firefox浏览器右上角找到并点击。
2024-08-19 21:34:25
653
原创 如何防止第三方DLL注入自己的进程?
设置 (0x1) 以防止进程加载未由 Microsoft、Windows 应用商店和 Windows 硬件质量实验室 (WHQL) 签名的图像;测试结论是没有起到作用,这是因为SetProcessMitigationPolicy是在程序启动后调用的,调用前就已经被注入了。设置 (0x1) 以防止进程加载未由 Windows 应用商店签名的图像;设置 (0x1) 以防止进程加载未由 Microsoft 签名的图像;这个结构包含用于加载映像的进程缓解策略设置,具体取决于映像的签名。
2024-07-14 11:31:13
621
原创 Ubuntu22.04 x86_64下为ARM64平台交叉编译Boost1.85
需要编译的库根据实际需要增减,执行时写到一行,这里分行便于阅读。
2024-04-18 14:23:11
525
原创 使用boost.hana在编译期加密字符串
在当今数字时代,软件安全问题愈发凸显,攻击者利用各种手段对应用程序进行破解和逆向工程的尝试也日益猖獗。其中,通过使用OllyDbg、IDA等软件加载应用程序,分析程序中的字符串,进而找到关键条件判断,实施软件破解的攻击方式屡见不鲜。为了有效应对这一类威胁,开发者们开始探索各种方法来增加软件的安全性,其中字符串加密被认为是一项有效的措施。本文将深入探讨字符串加密的重要性以及实现方法。
2024-01-12 19:42:06
509
原创 boost.hana学习笔记之map
Hana是C++元编程的头文件库,适用于类型和值的计算。它提供的功能是成熟的Boost.MPL和Boost.Fusion库提供的功能的超集。通过利用C++11/14实现技术和习惯用法,Hana拥有比以前的元编程库更快的编译时间和运行时性能,同时显着提高了过程中的表达能力。此外,所有键都必须是Hashable的,并且任何两个具有相等哈希值的键在编译时都必须是Comparable的。hana::map是基本的关联容器,需要唯一的,可比较的和哈希的关键字。例如,在模板参数推导期间,这不是可以进行模式匹配的东西。
2024-01-11 21:27:19
745
原创 转义Windows批处理中的感叹号
启用了延迟扩展后,感叹号会补当作%一样的特殊字符处理,例如:!,当需要将感叹号用作普通字符时,需要作转义处理。除以上正常的用法以外的,均是错误的。
2024-01-05 10:58:50
1019
1
原创 解决apt报错:/main/binary-i386/Packages 404 File not found
E: 无法下载 http://192.168.1.1:8000/dists/Jammy-updates/main/binary-i386/Packages 404 File not found [IP: 192.168.1.1 8000]E: 无法下载 http://192.168.1.1:8000/dists/Jammy/main/binary-i386/Packages 404 File not found [IP: 192.168.1.1 8000]正在读取软件包列表... 完成。
2023-11-20 15:05:09
500
原创 boost::asio::co_spawn: C2064 项不会计算为接受0个参数的函数
找遍内外网,折腾了快一天,最后定位到是定义了:BOOST_ASIO_DISABLE_CONCEPTS。调用boost::asio::co_spawn报错:C2064 项不会计算为接受0个参数的函数。CMakeLists.txt或工程中删除这个宏就好了。
2023-08-30 17:09:58
217
原创 使用Boost实现GO语言chan+select
【代码】Boost库concurrent_channel+parallel_group测试代码。
2023-07-09 17:37:22
527
原创 解决编译grpc接口报C3668、C2039、C2665和C2661错误
C3668 “XXX::Stub::async::YYY”:包含重写说明符“override”的方法没有重写任何基类方法C2039 “YYY”:不是“XXX::Service”的成员C2665 “grpc::internal::RpcMethodHandler::RpcMethodHandler”:没有重载函数可以转换所有参数类型C2661 “grpc::internal::RpcServiceMethod::RpcServiceMethod”:没有重载函数接受2个参数
2023-05-31 15:55:02
867
1
原创 Windows批处理文件中查找Visual C++安装路径并获得x64 Native Tools Command Prompt
自动化编译和打包需要获得x64 Native Tools Command Prompt,解决手动在在开始菜单中查找、运行,获得命令提示窗口的前提是获得VS安装路径,可用微软的工具vswhere.exe获得,这个工具可在github.com微软的仓库里下载,也可以用7-Zip打开VS2022安装文件vs_setup.exe(19 17也可以),在里面可找到。这是64位命令提示符的获取方法,如果需要32位的,相信大家都能搞定。
2023-05-27 23:37:39
1138
转载 [转]CMake:子目录工程和修改输出路径
默认情况下,在 CMakeLists.txt 中配置的target最终会产生在其对应的路径下。但在一些大型项目中,包含很多子项目,通常我们希望相同类型的模块输出到相同的目录中,比如所有动态库输出到一个目录,所有可执行程序输出到一个目录,所有测试程序输出到另一个目录等等。CMake 中可以修改不同类型文件的默认输出路径,也可以为某个 target 单独修改输出目录。
2023-05-19 19:17:59
3664
原创 Boost.Spirit备忘
累加。存入容器,可以简化为前面直接将表达式传递给没有带Skipper的规则只能用于parse,不能用于phrase_parse。Iterator后面的类型顺序没有要求。Signature指定规划的属性(或者叫类型更合适),比如:double。还有种属性称作继承:暂时先不管。
2023-04-18 22:33:55
338
原创 使用交叉编译工具为龙芯编译Boost1.81
因为后面要用sudo ./b2 install ......,所以这个文件必须创建在root主目录,我就是创建在当前用户主目录,浪费了大量时间找问题,并且这个坑踩了两次。注意其中6个空格一个都不能少,上面的g++文件名和路径换成自己的。将交叉编译工具目录移动到合适的位置。
2023-03-26 14:09:33
495
原创 编译Qt5.6.3的qtbase和qtwebsocket
Qt下载目录:https://download.qt.io/new_archive/qt/
2023-03-15 18:51:15
659
原创 解决no type named ‘completion_handler_type’ in ‘class boost::asio::async_result’错误
错误 C2039 "completion_handler_type": 不是 "boost::asio::async_result" 的成员 TestAsync D:\library\boost_1_81_0\boost\asio\async_result.hpp 650。
2023-03-12 10:12:22
441
原创 使用Lua C API调用table中的函数
使用Lua C API调用table中的函数,网上资料较多,几乎都有问题。第3行至关重要,不然参数和返回值乱套,调试了好几天才解决。记录一下帮助其他人出坑。
2023-03-08 15:28:30
244
原创 Linux下C++程序二进制跨机器部署
然后将编译安装gcc得到的lib64目录拷贝到ELF程序目录下,一块打包部署就好了。glibc目标文件也拷到lib64目录下打包。
2023-02-16 15:42:53
534
原创 Qt undefine reference to `vtable for xxx‘的解决
网上找到的方法均无法解决,最后发现是在.pro文件中忘记将头文件加到HEADERS中了。为了帮忙其他遇到这一问题的网友,特记录一下。
2023-02-09 11:42:38
100
原创 Ubuntu使用光盘作为软件源
光盘自动挂载的目录有空格,这会有问题,导致安装软件失败。清理和更新后就可以使用sudo apt install xxx安装软件了。先备份一下/etc/apt/sources.list。这种方式不用管代号,先清空/etc/apt/sources.list。其中jammy是22.04的代号,换为相应版本的代号。
2023-01-31 15:17:44
3138
包含rapidjson、google test、ACE+TAO的OpenDDS-3.29.1源码包,适用于离线编译
2024-09-19
C/C++应用程序路线图(pdf)
2009-03-05
WinDbg6.11.1.402汉化版
2009-02-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人