摘要: 在VC++中,一个std::function对象会根据情况被编译成多种情况,函数指针,函数对象(lambda),其中还涉及了优化等问题。 对于函数对象来说,常规的手段没有任何办法可以做比较,所以只能去二进制层面看看底层数据。 在VC中可以用同一个结构去模拟std::function对象 struct 阅读全文
posted @ 2022-06-17 10:50 babypapa 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 原文传送门: https://blog.csdn.net/yuejisuo1948/article/details/122149361 看了原文之后,第一时间对于std::ranges的第一印象是觉得更麻烦了,原本我们只需要掌握一个std::vector容器的使用方法,但使用范围库时,我们需要学会每 阅读全文
posted @ 2022-06-10 18:55 babypapa 阅读(87) 评论(0) 推荐(0) 编辑
摘要: VC支持协程已经有一段时间了,之前一直想不明白协程的意义在哪里,前几天拉屎的时候突然灵光一闪: 以下是伪代码: task server() { for (;;) { sock_context s = co_await io.accept(); for (;;) { auto buf = co_awa 阅读全文
posted @ 2021-12-03 16:12 babypapa 阅读(1049) 评论(3) 推荐(4) 编辑
摘要: 由于搜索出来的帖子,都是老版本的实验协程,很多老的代码已经失去参考性,并且很复杂,所以就自己研究了一下。 1 #include <iostream> 2 #include <coroutine> 3 #include <thread> 4 5 template<typename _Ty> 6 str 阅读全文
posted @ 2021-02-13 12:55 babypapa 阅读(963) 评论(0) 推荐(0) 编辑
摘要: 先讲下为什么会需要lua_close回调吧。 我用C++给lua写过不少库,其中有一些,是C++依赖堆内存,并且是每一个lua对象使用一块单独的内存来使用的。 在之前,我一直都是魔改lua源代码,给lua_State结构添加新的成员来进行快速引用,并修改了lua_close的源代码,添加了回调函数, 阅读全文
posted @ 2020-07-23 09:31 babypapa 阅读(1153) 评论(0) 推荐(0) 编辑
摘要: 百度可以找到很多关于这个问题解决的方法 关键控制台API函数:SetConsoleCtrlHandler 在支持C++ 11以上的编译器中,你可以这么做。 SetConsoleCtrlHandler([](DWORD fdwctrltype)->BOOL { if (fdwctrltype == C 阅读全文
posted @ 2020-06-02 17:40 babypapa 阅读(535) 评论(0) 推荐(0) 编辑
摘要: lua_newthread 这个接口,存在误导性,很多人第一次试图用它来解决多线程问题时,都会入坑。 实际上,这个接口真正的用法,是给那些在lua更底层的某些行为(通常是递归)导致了lua的栈溢出而准备的。 举例说明: 我在C底层实现了重新开始这种功能,并且我将这种功能暴露给lua了,lua在某些适 阅读全文
posted @ 2020-03-19 22:29 babypapa 阅读(2408) 评论(0) 推荐(0) 编辑
摘要: 如同我之前的一篇文章说的那样,我没有支持DTD与命名空间, 当前实现出来的解析器,只能与xmlhttp对比,因为chrome浏览器解析大文档有bug,至于其他人实现的,我就不一一测试了,既然都决定自己实现了,我只选择大公司的代码做对比。 测试文档大小:3M bytes,约90000个节点。 aqx: 阅读全文
posted @ 2019-11-07 17:10 babypapa 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 解析器的目的:一次从头到尾的文本遍历,文本数据 转换为 xml节点数据。 这其实是全世界所有编程语言编译或者转换为虚拟代码的基础,学会这种方法,发明一种编程语言其实只是时间问题,当然了,时间也是世界上最值钱的玩意儿。 很多人可能第一时间会想到: for (int i = 0; i < len; i+ 阅读全文
posted @ 2019-11-06 13:27 babypapa 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 前言: 我在C++项目中使用xml作为本地简易数据管理,到目前为止有5年时间了,从最初的全文搜索标签首尾,直到目前项目中实际运用的类库细致到已经基本符合w3c标准,我一共写过3次解析器,我自己并没有多喜欢xml,对于xml最初的需求是客户提出的,有了第一次,就有后来的无数次使用xml的场景,配置文件 阅读全文
posted @ 2019-11-03 02:56 babypapa 阅读(466) 评论(0) 推荐(0) 编辑