彭于斌

Results 237 comments of 彭于斌

我尝试推送了修复,你可以试试看是不是能编译了

看来msvc无法覆盖malloc和free符号,但可以覆盖operator new符号,我把malloc和free的覆盖禁用了,你可以试试看,现在只会检测operator new和operator delete。

送我一台macbook我就支持 无法顺畅的大口呼吸,是活着的最好证明 ---原始邮件--- 发件人: ***@***.***> 发送时间: 2024年6月29日(周六) 凌晨2:58 收件人: ***@***.***>; 抄送: ***@***.***>; 主题: [archibate/mallocvis] 能不能适配一下macbook (Issue #4) — Reply to this email directly, view it on GitHub, or unsubscribe. You...

mallocvis.so只会监控的main开始后和main结束之间分配和释放的资源,应该并不会有全局资源的。 你是不是wsl,有同学反馈wsl似乎会有很多的误报,原因不明。 如果你需要,我可以改出两个函数,mallocvis_start(),mallocvis_end()让你调用,控制监控区间。 无法顺畅的大口呼吸,是活着的最好证明 ---原始邮件--- 发件人: ***@***.***> 发送时间: 2024年7月17日(周三) 晚上9:17 收件人: ***@***.***>; 抄送: ***@***.***>; 主题: [archibate/mallocvis] 当跨so引用时会出现误报 (Issue #9) 首先夸一波大佬,工具写的很棒 当我在工程中应用这个工具时,我发现存在较多的误报 简易代码: ` void dummy() { Init(); Deinit(); } int...

推送了,你看看,你可以定义以下这个宏: ```cpp #define MANUAL_GLOBAL_INIT 1 ``` 然后,就可以手动调用(见malloc_hook.cpp文件末尾)mallocvis_init和mallocvis_deinit了。

我加了一个`__attribute__((__constructor__(101)))`,调高了优先级,试试看有没有区别了。

可以设置环境变量MALLOCVIS,令不生成文字(show_text:0),只显示C++部分(filter_c:0)的内存分配: ```bash export MALLOCVIS="show_text:0;filter_c:0" ```

> 但是print.h中还有不少魔法我没有看明白,期待小彭老师的讲解。 Totally piece of shit, not recommended to study, always use C++20 concepts instead.

模板无法实现获取标识符名字,也无法实现标识符concat。我们没必要抵触宏,模板确实就是有很多做不到的,至少要等reflexpr实装以后才能改善一点 无法顺畅的大口呼吸,是活着的最好证明 ---原始邮件--- 发件人: ***@***.***> 发送时间: 2023年8月29日(周二) 下午5:46 收件人: ***@***.***>; 抄送: ***@***.***>; 主题: [archibate/minilog] 如何用模板实现该宏? (Issue #1) #define MINILOG_FOREACH_LOG_LEVEL(f) f(trace) f(debug) f(info) f(critical) f(warn) f(error) f(fatal) — Reply to this...

co_await并没有“返回”的功能,一个协程结束后,要切换到哪个协程(相当于返回地址)是由final_suspend().await_suspend()的协程句柄决定的。 std::suspend_always()的await_suspend()这个成员函数,返回类型void,表示不返回到任何地方,直接结束当前协程,返回到调用了world.resume()的main函数里去。 PreviousAwaiter(mPrevious)的await_suspend(),返回类型是协程句柄std::coroutine_handle,表示返回到这个句柄指向的协程。PreviousAwaiter的await_suspend()固定返回mPrevious,而mPrevious刚好是刚才调用world时保存的调用者hello的协程句柄,所以才能返回到hello中,而不是直接退到main里。 题外话,如果你要final_suspend()返回std::suspend_always()还能继续返回到hello里的话,main就要这样写: ```cpp int main() { world.resume(); hello.resume(); // world.resume() 遇到 std::suspend_always() 被退出了,需要main函数负责手动切换回调用者hello } ```