工作记录
本篇用于记录工作中的琐碎知识点,便于随手查阅,空闲时间可以整理。 0.待学习 看一下CRC,循环冗余校核,看看怎么用 多线程编程中的缓存一致性,做笔记 关于异常捕获:try catch,要学会 内存池,公司的项目会有自己的内存管理,找时间搞懂 编译的module和module hash是什么 归并排序 python脚本语言 正则表达式 书:《C++...
本篇用于记录工作中的琐碎知识点,便于随手查阅,空闲时间可以整理。 0.待学习 看一下CRC,循环冗余校核,看看怎么用 多线程编程中的缓存一致性,做笔记 关于异常捕获:try catch,要学会 内存池,公司的项目会有自己的内存管理,找时间搞懂 编译的module和module hash是什么 归并排序 python脚本语言 正则表达式 书:《C++...
记录开发中遇到的git相关的问题 使用vpn代理 开了VPN之后,git clone/push 仍然会失败,访问不到链接,是由于 git 默认不使用代理导致,配置 git 代理后可提升速度。 1 查看vpn本地代理端口 不同 vpn 软件或安装的随机性导致每台机器的端口号并不一致,以显示为准。 当前显示 http 端口为:2802;socks5 端口为:2801; 或...
记录一下工作中常用的Linux操作。 1. Linux常用记录 #在当前目录下的所有文件中的test_run下的icpower.log文件中查找 Merge 关键字 ---注意grep可以在文件中查找 grep Merge */test_run/icpower.log #-r是递归的意思,这里的意思是在当前文件中的所有项中查找Merge,无论是文件还是文件夹 grep Merge ...
最近遇到了一个bug,自己第一时间没有注意到(但是manager看一眼就注意到了),因此在这里记录一下,加深印象 具体问题 首先说说具体情况,原本一个函数一直都没出问题,最近新添加了一个case之后,会在一处delete指针的地方crash,报错invalid pointer,下面是代码: struct ThreadParam { int* ptr_; }; void threa...
通过代码总结一下MPI阻塞通信中的标准通信模式。 阻塞通信 阻塞通信是指发送方的send调用需要接收方相应的调用recv函数。 阻塞发送的语义是,当程序从阻塞发送的函数返回时,发送的消息都已经被转存到别的地方了——可能是接收方的buffer,也可能是某方的系统buffer。总之,当函数返回的时候,你可以安全地修改发送数据所在位置的值,而不会影响通信的正确性。进一步的说,所谓安全地修改...
公司分布式环境使用MPI搭建,最近打算上手学习一下MPI,目前的主要目的是能够快速使用MPI的API将现有程序并行化,例子代码均用C语言实现。 环境: Ubuntu 20.04.6 下载MPICH 下载地址 下载下来的压缩包为: mpich-4.2.3.tar.gz 编译和安装 解压 tar zxvf mpich-4.2.3.tar.gz cd mpich-4.2.3 编...
Linux环境下,通常会有这种情况: 多用户通过vnc访问指定IP,通常是公司服务器。不同用户执行firefox,firefox进程存在且仅能存在一个。 在不同的服务器上,home目录通过网络文件系统 NFS 等方式共享,因此导致Firefox 的配置文件也被共享,最终造成在一台服务器上打开firefox之后,其他服务器无法打开。 解决办法: firefo...
1. pretty-printer C++的STL容器的实现并不直观,直接使用gdb之类的debugger查看内存是需要周转多次才能看到具体的内容的。 在Visual Studio之类的IDE中内置了一些脚本,用来较为友好的显示容器内的元素。 GDB的pretty-printer脚本提供了类似的功能。 然而虽然pretty-printer是GDB官方提供的,但是并没有...
参考链接: Tcl/C混合编程:将Tcl嵌入你自己的程序 Tcl/Tk同Python一样,是一种高级语言。所不同的是,Python追求高大全,几乎我们能想得到的所有计算机领域都有Python的库,甚至如CUDA调用,符号计算,3D显示等都可以。Tcl却恰恰相反,它追求的是小巧精致,尽管没有那么华丽的库,但这也是它的优点。整个Tcl/tk库可以简单而无缝的嵌入到任何人自己...
1. shared_from_this 在解释std::enable_shared_from_this之前,先看一个std::shared_ptr典型用法: #include <memory> int main() { std::shared_ptr<int> pt1{ new int{ 10 } }; auto pt2{ pt1 }; } ...