难说| 读了几本书

作者分享了五一期间的阅读经历,重点评述了《Windows编程调试技术内幕》、《软件调试》、《Git软件开发实战》等技术书籍,提及了学习到的调试技巧和推荐的其他相关书籍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

难说| 读了几本书

前言

好久没在这个号上发表文章了,今天听群友说微信开放了私信功能,赶紧来试试。欢迎私信。

读了几本书

这个五一加了 4 天班,真是累啊,希望后面不要再卷了。最后一天陪娃去天津图书馆,又借了几本感兴趣的书,囫囵吞枣的看了好几本。简单聊聊感受。

  • 《Windows 编程调试技术内幕》

    在图书馆遇到这本书,想都没想,立刻拿到手里了。这本书我翻的比较块,应该会错过一些知识点。书里面的大部分的内容我已经有过了解了,就没细读。即使粗读,依然学到了几点。

    • 通过设置注册表 Image File Excution Option 下的 BreakOnDllLoad, 可以在 vs 中做到加载指定 dll 的时候中断下来(在 windbg就比较简单了,sxe ld:your_module_pattern 搞定)。
    • 创建进程的时候,内核会调用 nt!PspInsertProcess,又学到了一个中断的时机。
    • 一个命令行程序总会有与之对应的 conhost.exe 进程。这个进程会负责消息处理相关事宜。对,一个命令行程序也有消息需要处理,我之前以为控制台程序不会处理消息呢。
    • 控制台程序是如何响应 ctrl + c 的。
    • ……

    总体来说,这本书还是非常值得一读的,有机会一定买一本纸质版支持原作者。

    当然,谈到调试,一定要提张银奎老师的《软件调试》(第二版已经出了两卷了),《格蠹汇编》。还有《windows 高级调试》( Mario HewardtDaniel Pravat 著,聂雪军 等译),《.net 高级调试》(Mario Hewardt 著,聂雪军 等译) 。当然,还有熊力大佬的《Windows 用户态程序高效排错》,只可惜我知道这本书的时候,已经绝版了,如果有纸质版一定买一本支持作者。

  • 《Git 软件开发实战》

    之所以借这本是因为这是一本讲 git 的书。这本书很快就翻完了,一是因为自己对 git 有了一定的了解,二是因为之前买了一本《精通 Git》(有开源的中文电子版,链接在这里)。这本《Git 软件开发实战》没有特别惊艳到我的地方。当然,没太细看,很可能错过了一些精彩的地方。相比而言,我更喜欢《精通 Git》。

  • 《C++ 函数式编程》

    这本书的名字吸引了我。相信大家一定知道 c++ 是面向对象的编程语言。使用c++ 进行函数式编程?有点意思。不过这本书我很快就翻完了,没太理解这本书的精髓。也许是我功力还不够,还得继续修炼。

  • 《编程的原则》

    借这本与借另外一本——《代码质量》的出发点是一样的,想看看有没有什么好的原则提高代码质量。这本书里的观点好是好,就是少了些代码的佐证,不太符合我的预期,所以没有精读。相对而言,《代码大全》更符合我的胃口。

  • 《代码质量》

    这本应该是一本好书,但是现在没心思细读,留到后面慢慢读吧。

  • 《正则指引》

    这本书是余晟大佬写的,之前买过他翻译的正则表达式的经典之作《精通正则表达式》。这次有幸在图书馆遇到这本书,必须借回来读一读。我本身了解简单的正则语法,可以写简单的正则表达式,但是稍微复杂一些的就得查资料了,之前在用正则的时候遇到了一个因为使用不当导致的运行缓慢的问题,还特意写了几篇水文记录。感兴趣的朋友可以看这里

  • 《自制编译器》

    看名字就想读的一本书。希望能通过这本书对编译原理有更深层次的理解吧。接下来的重中之重!

  • 《数学之美》

    吴军大佬写的,非常非常值得一读。很早就买了,一直在书架上吃灰。偶然的机会翻出来读了读,越读越喜欢,能遇到这么好的书,真是三生有幸。对《浪潮之巅》也有了更高的期待,也得慢慢安排上了。

最后

请原谅我的懒惰吧

full
full
the-beauty-of-math
the-beauty-of-math

你对这几本书有什么看法吗?有什么好书推荐吗?欢迎私信我呀。

内容概要:本书《Deep Reinforcement Learning with Guaranteed Performance》探讨了基于李雅普诺夫方法的深度强化学习及其在非线性系统最优控制中的应用。书中提出了一种近似最优自适应控制方法,结合泰勒展开、神经网络、估计器设计及滑模控制思想,解决了不同场景下的跟踪控制问题。该方法不仅保证了性能指标的渐近收敛,还确保了跟踪误差的渐近收敛至零。此外,书中还涉及了执行器饱和、冗余解析等问题,并提出了新的冗余解析方法,验证了所提方法的有效性和优越性。 适合人群:研究生及以上学历的研究人员,特别是从事自适应/最优控制、机器人学和动态神经网络领域的学术界和工业界研究人员。 使用场景及目标:①研究非线性系统的最优控制问题,特别是在存在输入约束和系统动力学的情况下;②解决带有参数不确定性的线性和非线性系统的跟踪控制问题;③探索基于李雅普诺夫方法的深度强化学习在非线性系统控制中的应用;④设计和验证针对冗余机械臂的新型冗余解析方法。 其他说明:本书分为七章,每章内容相对独立,便于者理解。书中不仅提供了理论分析,还通过实际应用(如欠驱动船舶、冗余机械臂)验证了所提方法的有效性。此外,作者鼓励者通过仿真和实验进一步验证书中提出的理论和技术。
ui_TextArea4 = lv_textarea_create(ui_Container10);     lv_obj_set_width(ui_TextArea4, 199);     lv_obj_set_height(ui_TextArea4, 38);     lv_obj_set_x(ui_TextArea4, -118);     lv_obj_set_y(ui_TextArea4, -156);     lv_obj_set_align(ui_TextArea4, LV_ALIGN_CENTER);     lv_textarea_set_placeholder_text(ui_TextArea4, "Placeholder...");  ui_Dropdown1 = lv_dropdown_create(ui_Container10);     lv_dropdown_set_options(ui_Dropdown1, "very Good\nGood\ndamn");         lv_obj_set_width(ui_Dropdown1, 150);     lv_obj_set_height(ui_Dropdown1, LV_SIZE_CONTENT);    /// 1     lv_obj_set_x(ui_Dropdown1, -141);     lv_obj_set_y(ui_Dropdown1, -84);     lv_obj_set_align(ui_Dropdown1, LV_ALIGN_CENTER);     lv_obj_add_flag(ui_Dropdown1, LV_OBJ_FLAG_SCROLL_ON_FOCUS);     /// Flags   ui_Checkbox1 = lv_checkbox_create(ui_Container10);     lv_checkbox_set_text(ui_Checkbox1, "干净");     lv_obj_set_style_text_font(ui_Checkbox1,&ui_font_q31z, LV_PART_MAIN | LV_STATE_DEFAULT);     lv_obj_set_width(ui_Checkbox1, LV_SIZE_CONTENT);   /// 1     lv_obj_set_height(ui_Checkbox1, LV_SIZE_CONTENT);    /// 1     lv_obj_set_x(ui_Checkbox1, -103);     lv_obj_set_y(ui_Checkbox1, 13);     lv_obj_set_align(ui_Checkbox1, LV_ALIGN_CENTER);     lv_obj_add_flag(ui_Checkbox1, LV_OBJ_FLAG_SCROLL_ON_FOCUS);     /// Flags     // ui_Label34 = lv_label_create(ui_Container10);     // lv_obj_set_width(ui_Label34, LV_SIZE_CONTENT);   /// 1     // lv_obj_set_height(ui_Label34, LV_SIZE_CONTENT);    /// 1     // lv_obj_set_x(ui_Label34, -180);     // lv_obj_set_y(ui_Label34, 13);     // lv_obj_set_align(ui_Label34, LV_ALIGN_CENTER);     // lv_label_set_text(ui_Label34, "you...?");     ui_Checkbox2 = lv_checkbox_create(ui_Container10);     lv_checkbox_set_text(ui_Checkbox2, "难说");     lv_obj_set_style_text_font(ui_Checkbox2,&ui_font_q32z, LV_PART_MAIN | LV_STATE_DEFAULT);     lv_obj_set_width(ui_Checkbox2, LV_SIZE_CONTENT);   /// 1     lv_obj_set_height(ui_Checkbox2, LV_SIZE_CONTENT);    /// 1     lv_obj_set_x(ui_Checkbox2, -103);     lv_obj_set_y(ui_Checkbox2, 44);     lv_obj_set_align(ui_Checkbox2, LV_ALIGN_CENTER);     lv_obj_add_flag(ui_Checkbox2, LV_OBJ_FLAG_SCROLL_ON_FOCUS);     /// Flags    ui_Button100 = lv_button_create(ui_wenjuan);     lv_obj_set_width(ui_Button100, 97);     lv_obj_set_height(ui_Button100, 36);     lv_obj_set_x(ui_Button100, 344);     lv_obj_set_y(ui_Button100, 161);     lv_obj_set_align(ui_Button100, LV_ALIGN_CENTER);     lv_obj_add_flag(ui_Button100, LV_OBJ_FLAG_SCROLL_ON_FOCUS);     /// Flags     lv_obj_remove_flag(ui_Button100, LV_OBJ_FLAG_SCROLLABLE);      /// Flags     lv_obj_set_style_bg_color(ui_Button100, lv_color_hex(0x7062BC), LV_PART_MAIN | LV_STATE_DEFAULT);     lv_obj_set_style_bg_opa(ui_Button100, 50, LV_PART_MAIN | LV_STATE_DEFAULT);  lv_obj_add_event_cb(ui_Button100, ui_wenjuan_send, LV_EVENT_CLICKED, NULL);帮我写出这个ui_wenjuan_send,实现一点击按钮就获取文本框里面的文本,获取下拉选项选中选项的文本,获取复选框选中状态,写入一个文件中
03-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值