随笔分类 -  C/C++

摘要:\/\*(\s|.)*?\*\/ 阅读全文
posted @ 2019-01-21 23:37 Matrix_R 阅读(691) 评论(0) 推荐(0) 编辑
摘要:已适配的DLL源文件 阅读全文
posted @ 2019-01-01 21:22 Matrix_R 阅读(326) 评论(0) 推荐(0) 编辑
摘要:写了个能验证线性变换的程序,主要是用来验证https://www.bilibili.com/video/av5987715/ 这个教学视频的线性代数内容,学习和实践相结合,知行合一嘛~ 原始就是一个正方形,随便按一个按键就能够进行旋转操作,旋转后的画面不重绘,所以就出现了这样连续的图形。 绘图采用的 阅读全文
posted @ 2018-01-07 20:34 Matrix_R 阅读(790) 评论(0) 推荐(0) 编辑
摘要:前段时间为了解决Volte的T侧短消息流程问题,自己写了一个T侧短消息的工具,在基础线程上搞了3个线程。因为公司的执行机都是4核以上的虚拟机,所以线程数量上完全没问题。 程序启动时创建的线程用来做维护了,比如接收了多少消息,发送了多少消息,都有什么类型的消息。 线程1用来接收消息,收了消息啥也不干, 阅读全文
posted @ 2017-04-04 20:46 Matrix_R 阅读(845) 评论(0) 推荐(0) 编辑
摘要:感觉散列的查找性能真心不错,如果使用普通线性结构查找,平均时间是n/2.而刚才用实验,256大小的散列,存储128个数据,平均时间为2次以内。感觉真心NB 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 ... 阅读全文
posted @ 2015-01-03 23:19 Matrix_R 阅读(274) 评论(0) 推荐(0) 编辑
摘要:网上一位前辈高人的一段精髓代码让我眼前一亮……ShellExecute(NULL,"open","explorer.exe","/select,C:\\a.txt",NULL,SW_SHOWNORMAL);这段代码实在是太好用了,在此mark一下。网上还有其他的代码,比如SHOpenFolderAn... 阅读全文
posted @ 2014-10-09 23:54 Matrix_R 阅读(2633) 评论(1) 推荐(0) 编辑
摘要:CEdit自动换行在对话框的属性中是可以直接设置的。Auto HScroll设置为FalseAuto VScroll设置为TrueMulitline设置为TrueWant Return设置为True网上很多文章都只设置了下面三项,而HScroll默认是True的。只有改成False,才能使得自动换行... 阅读全文
posted @ 2014-10-02 17:55 Matrix_R 阅读(1917) 评论(0) 推荐(0) 编辑
摘要:嗅探器这个代码我去年的时候就已经写过了,这个学期并不是非常忙,顺手复习网络,就又尝试着写了一遍。其实在写嗅探器的时候,最主要的还是要将网卡设置为混杂模式。在此基础之上,对抓到的数据包进行分析。这个是我写出来的效果图,目前只是方便于查看,连菜单都没添加:左面的界面显示的是主机和主机之间的链接信息,而右... 阅读全文
posted @ 2014-04-14 22:33 Matrix_R 阅读(4470) 评论(9) 推荐(2) 编辑
摘要:Windows录音API学习笔记结构体和函数信息结构体WAVEINCAPS该结构描述了一个波形音频输入设备的能力。typedef struct { WORD wMid; 用于波形音频输入设备的设备驱动程序制造商标识符。 WORD wPid; 声音输入设备的产品识别码。 MMVERSION vDriverVersion; 用于波形音频输入设备的设备驱动程序的版本号。高位字节是主版本号,低字节是次版本号。 CHAR szPname[MAXPNAMELEN]; 设备名称 DWORD dwFormats; 所支持的标准格式。可以是以下组合: WORD wChannels; 数值指定设备是否支持单(1) 阅读全文
posted @ 2014-01-16 22:59 Matrix_R 阅读(16174) 评论(13) 推荐(2) 编辑
摘要:注册表是window系统中非常重要的一部分,今天在网上查了一些文章学习了下,觉得其中有一句话总结的很经典:注册表是用来存储信息的。这句话虽然有点废,但是说的没错。当然,注册表中包含的内容非常多,远没有单纯存储信息那么简单。注册表的基础信息:数据存储结构为树。树的每一个节点就是一个键值。每个节点都能包含N多子键。一个键可以有很多键值。每个键值都有一个名字,以及一种指定类型的数据。我今天也是刚开始看注册表,知道的也很有限,就不接着献丑了,直接跳到注册表API。常用的注册表函数:RegOpenKeyEX函数原型为:LONG RegOpenKeyEx( HKEY hKey, LPCTSTR lpSub 阅读全文
posted @ 2013-10-07 19:10 Matrix_R 阅读(1481) 评论(3) 推荐(0) 编辑
摘要:这个是代码是昨天写完的,一开始的时候还出了点小bug,这个bug在晚上去吃饭的路上想明白的,回来更改之后运行立刻完成最后一步,大获成功。简单说下huffman编码和文件压缩主要的技术。Huffman编码,解码:I 创建Huffman树II 根据Huffman树实现编码,并将编码结果和要编码的数据建立映射关系。III Huffman解码,也就是根据获取的Huffman码来逆向获取解码信息,而且你从解压文件中一次性获取的数据是一个很长的字符串,没有预处理好的成段字符串式Huffman码。1I 首先,如何创建Huffman树?在这个我在前天的那篇文章中简单的提了一下,现在好好说一下。如果你不知道什么 阅读全文
posted @ 2013-10-07 00:57 Matrix_R 阅读(12335) 评论(4) 推荐(1) 编辑
摘要:今天主要做的就是,将完成huffman编码的数据以二进制的形式写入文件中。这是个挺苦逼的活。不过好在我以前玩过一段时间的单片机,所有能够较好的实现位运算,一位一位的将数据存放到缓冲区中,然后统一写入内存。今天这个代码,怎么说呢,应该算是比较细致的活吧,毕竟这已经是接触到了计算机存储中存储单位最小的位了,在代码的控制上要比较小心,写代码前必须把问题想清楚,想不清楚,就很容易悲剧。代码实现出来之后,原本大小为7.09kb的文件压缩后大小变成了4.86kb,这还是其中的信息头占了不少的内容,不然效率能更高一些。当然了,我现在还不清楚我写进去的文件是否是正确的,毕竟现在还没解压出来,不过头部数据是没问 阅读全文
posted @ 2013-10-04 22:19 Matrix_R 阅读(3236) 评论(0) 推荐(0) 编辑
摘要:今天下午想把文件压缩写一下,因为我觉得这个还是比较锻炼技术的,对数据结构的要求应该比较高,权当练习了吧。我采用的压缩方式是Huffman编码,不过比较囧的是,我拼写拼错了,我拼的是haffman,在后面的代码也是出尽洋相。huffman是非常经典的一种编码形式,不过现在好像用的不多了,但是这种压缩编码的好处在于数据是无损压缩的,而且非常经典。在构造huffman树,要做的步骤如下:1 对文件的元素进行统计,其实就是个计数,我这里的元素是以字节为单位的,毕竟任何文件都可以转化为字节流的形式,处理起来方便的很。2 然后对统计结果进行一次由小到大的排序,排序的key值就是元素出现的次数。3接着取出来 阅读全文
posted @ 2013-10-03 21:59 Matrix_R 阅读(7779) 评论(2) 推荐(0) 编辑
摘要:题目意思大概是这样的:给定两个大数组(1w以上1亿以下),用最有效的方法找出来两个数组的交集。对于这道题,我有一个思路就是,先对数组进行排序,然后用两个指针在已排序的数组上轮流指向头结点,进行比较。比较亮的地方,就是在于这个比较的方式了。首先,比较的时候,要先确定两个指针指向的内用是否一致。如果一致,那么这个点,就是交集的一个元素,没问题吧?这里有一个问题就是,接下来如何比较?步骤是这样的:先比较两个指针指向内容的大小,指向结果小的指针,开始递增,直到较小的指针指向的值大于或等于另一个指针。而接下来另一个指针也采用同样的方法,此时这个较大的指针已经变成了较小的指针,递增,直到比大于或等于另一个 阅读全文
posted @ 2013-09-22 09:10 Matrix_R 阅读(10967) 评论(19) 推荐(0) 编辑
摘要:题目是这样的:50个灯,有50个按钮,编号为1,2,3……50.刚开始灯全部是熄的,现在依次按按钮,每次按到按钮i,i的倍数编号的灯就变一下状态,问到最后开了几盏灯。这里考的问题其实就是一个数字的正约数的个数是奇数还是偶数的问题。这个题我在某数学网站中找到的,感谢百度~然后,我还发现了,这个题是小学六年级的数学题……尼玛啊!!!其实对于我这样的准程序员来说,遇到这种问题,上来的第一个想法就是,写个小程序,跑一下就知道了~但是在你笔试的时候,是没有台笔记本放在你面前的。回来谈这个问题,如何判断一个数字的正约数个数呢?说破了很简单。一个普通的数字,做一个可以整除的除法,通常是这样的一个式子:a = 阅读全文
posted @ 2013-09-13 21:08 Matrix_R 阅读(916) 评论(2) 推荐(1) 编辑
摘要:刚才在百度文库上找到了个关于图的拓扑排序很好的方法。这个只有两句话。我在学数据结构的时候是学过图论的,但是,貌似里面只是说了关于深度优先遍历和广度优先遍历。这个拓扑排序貌似真的是没讲。简单两句话,说明如何进行拓扑排序:1 在有向图中,找到一个没有前驱的顶点。2 取出这个顶点,并删除图中该点以及所有以他为尾的弧。重复上面的步骤,直到图空,就完成了拓扑排序。今天记下来,以后会用到~~~ 阅读全文
posted @ 2013-09-13 14:21 Matrix_R 阅读(351) 评论(0) 推荐(0) 编辑
摘要:记得我的笔记本上曾经安装了一款名为内存整理大师的软件,当时觉得挺好用而且挺NB的,就是导致开机启动有点慢。当时我就在想,内存整理是怎么实现的?不过那是水平实在是不怎么样,估计连windows程序的消息概念都不清楚吧。所以虽然不明白原因,但是觉得,很NB。今天看到网上有关于EmptyWorkingSet函数的介绍,然后就看了下。看那几个函数的调用,不是很明白,所以直接去MSDN查看函数原型以及介绍。看明白了那两个函数,就突然觉得,实现内存整理太简单了……首先摆出来几个API函数,分别是:EnumProcesshttp://msdn.microsoft.com/en-us/library/wind 阅读全文
posted @ 2013-09-08 13:07 Matrix_R 阅读(3513) 评论(2) 推荐(2) 编辑
摘要:这里的进程状态信息函数主要分为两类,一类是PS(PROCESS STATUS HELPER) API,另外一类是Th(TOOL HELP) API。话说第一次遇到这个ToolHelp函数时我在看《windows核心编程》时遇到的。那时还仅仅是简单的看了一下,并未深入。Ps API 函数列表及其功能说明:MSDN地址连接:http://msdn.microsoft.com/en-us/library/windows/desktop/ms684894(v=vs.85).aspx使用Ps API需要包含Psapi.h文件以及Psapi.libEmptyWorkingSet 从执行的工作集中尽可能的多 阅读全文
posted @ 2013-09-07 17:28 Matrix_R 阅读(10932) 评论(0) 推荐(1) 编辑
摘要:API的列表如下,网上找的,我觉得还是蛮详细的:磁盘和驱动器管理APIGetLogicalDrivers 获取主机中所有的逻辑驱动器,以BitMap的形式返回.GetLogicalDriverString 获取主机中所有的逻辑驱动器,以驱动器根路径字符串返回.FindFirstVolume 查找主机... 阅读全文
posted @ 2013-08-29 12:30 Matrix_R 阅读(12536) 评论(3) 推荐(1) 编辑
摘要:话说昨天因为校园网的问题导致现在才发博文~唉,想吐槽~这个是昨天写的,觉得,用来回顾还是很不错的,比较具体的都在笔记中,尤其我觉得里面经验性的东西还是不错的。2013-8-26 今天在回顾我以前写的笔记,笔记时间应该是在大二。话说,现在我在实验室一边听着胡彦斌的《葬英雄》一边写着学习笔记~ 看了以往的笔记,感觉,以前的字写的确实不怎么样,现在嘛,嘿嘿,也不怎么样。不过,感觉还是很不一样的。想想当初学习C++的辛苦,在看着现在写出来的程序,觉得自己还是进步了不少的。C++这门语言,应该算是最难学的语言了吧,我觉得汇编是比C++简单些的。 还有一点,对于一门语言是否精通,我觉得有个很简单的标准,简 阅读全文
posted @ 2013-08-27 11:12 Matrix_R 阅读(1137) 评论(0) 推荐(0) 编辑