C++
shada
资源C++开发,GNU/Linux爱好者。
展开
-
使用C++11将GBK字符串转换为UTF-8
【代码】使用C++11将GBK字符串转换为UTF-8。原创 2024-09-11 14:51:03 · 349 阅读 · 0 评论 -
如何防止第三方DLL注入自己的进程?
设置 (0x1) 以防止进程加载未由 Microsoft、Windows 应用商店和 Windows 硬件质量实验室 (WHQL) 签名的图像;测试结论是没有起到作用,这是因为SetProcessMitigationPolicy是在程序启动后调用的,调用前就已经被注入了。设置 (0x1) 以防止进程加载未由 Windows 应用商店签名的图像;设置 (0x1) 以防止进程加载未由 Microsoft 签名的图像;这个结构包含用于加载映像的进程缓解策略设置,具体取决于映像的签名。原创 2024-07-14 11:31:13 · 374 阅读 · 0 评论 -
使用交叉编译工具为龙芯编译Boost1.81
因为后面要用sudo ./b2 install ......,所以这个文件必须创建在root主目录,我就是创建在当前用户主目录,浪费了大量时间找问题,并且这个坑踩了两次。注意其中6个空格一个都不能少,上面的g++文件名和路径换成自己的。将交叉编译工具目录移动到合适的位置。原创 2023-03-26 14:09:33 · 423 阅读 · 0 评论 -
gcc-12.2.0编译
gcc-12.2.0编译。原创 2022-10-15 17:13:20 · 1115 阅读 · 0 评论 -
Linux下C++程序二进制跨机器部署
然后将编译安装gcc得到的lib64目录拷贝到ELF程序目录下,一块打包部署就好了。glibc目标文件也拷到lib64目录下打包。原创 2023-02-16 15:42:53 · 462 阅读 · 0 评论 -
编译Qt5.6.3的qtbase和qtwebsocket
Qt下载目录:https://download.qt.io/new_archive/qt/原创 2023-03-15 18:51:15 · 606 阅读 · 0 评论 -
从外部访问类中的私有成员
return M;// usestruct A {private:int a;A a(42);原创 2024-06-07 22:26:53 · 264 阅读 · 0 评论 -
Ubuntu22.04 x86_64下为ARM64平台交叉编译Boost1.85
需要编译的库根据实际需要增减,执行时写到一行,这里分行便于阅读。原创 2024-04-18 14:23:11 · 422 阅读 · 0 评论 -
boost.redis崩溃的解决方法
使用boost.redis的协程一定要co_spawn在strand对象中。原创 2024-03-04 11:09:35 · 337 阅读 · 0 评论 -
使用boost.hana在编译期加密字符串
在当今数字时代,软件安全问题愈发凸显,攻击者利用各种手段对应用程序进行破解和逆向工程的尝试也日益猖獗。其中,通过使用OllyDbg、IDA等软件加载应用程序,分析程序中的字符串,进而找到关键条件判断,实施软件破解的攻击方式屡见不鲜。为了有效应对这一类威胁,开发者们开始探索各种方法来增加软件的安全性,其中字符串加密被认为是一项有效的措施。本文将深入探讨字符串加密的重要性以及实现方法。原创 2024-01-12 19:42:06 · 479 阅读 · 0 评论 -
boost.hana学习笔记之map
Hana是C++元编程的头文件库,适用于类型和值的计算。它提供的功能是成熟的Boost.MPL和Boost.Fusion库提供的功能的超集。通过利用C++11/14实现技术和习惯用法,Hana拥有比以前的元编程库更快的编译时间和运行时性能,同时显着提高了过程中的表达能力。此外,所有键都必须是Hashable的,并且任何两个具有相等哈希值的键在编译时都必须是Comparable的。hana::map是基本的关联容器,需要唯一的,可比较的和哈希的关键字。例如,在模板参数推导期间,这不是可以进行模式匹配的东西。原创 2024-01-11 21:27:19 · 668 阅读 · 0 评论 -
使用Boost实现GO语言chan+select
【代码】Boost库concurrent_channel+parallel_group测试代码。原创 2023-07-09 17:37:22 · 489 阅读 · 0 评论 -
解决编译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 · 728 阅读 · 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 · 1072 阅读 · 0 评论 -
[转]CMake:子目录工程和修改输出路径
默认情况下,在 CMakeLists.txt 中配置的target最终会产生在其对应的路径下。但在一些大型项目中,包含很多子项目,通常我们希望相同类型的模块输出到相同的目录中,比如所有动态库输出到一个目录,所有可执行程序输出到一个目录,所有测试程序输出到另一个目录等等。CMake 中可以修改不同类型文件的默认输出路径,也可以为某个 target 单独修改输出目录。转载 2023-05-19 19:17:59 · 3256 阅读 · 0 评论 -
The skipper grammar
【代码】The skipper grammar。原创 2023-04-16 18:18:26 · 60 阅读 · 0 评论 -
Boost.Spirit备忘
累加。存入容器,可以简化为前面直接将表达式传递给没有带Skipper的规则只能用于parse,不能用于phrase_parse。Iterator后面的类型顺序没有要求。Signature指定规划的属性(或者叫类型更合适),比如:double。还有种属性称作继承:暂时先不管。原创 2023-04-18 22:33:55 · 313 阅读 · 0 评论 -
解决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 · 376 阅读 · 0 评论 -
使用Lua C API调用table中的函数
使用Lua C API调用table中的函数,网上资料较多,几乎都有问题。第3行至关重要,不然参数和返回值乱套,调试了好几天才解决。记录一下帮助其他人出坑。原创 2023-03-08 15:28:30 · 216 阅读 · 0 评论