摘要: 首先是一个不容易看出来的语法上的陷阱 经过调试得出的错误是对非socket的socket操作出错,sockfd在调试过程中发现是0,不是一个合理的文件描述符。 仔细一看原来是括号忘记加了,该运算是先用socket返回一个文件描述符fd,然后将fd<0的结果赋给sockfd,正常创建的socket的文 阅读全文
posted @ 2017-02-26 22:14 Harley_Quinn 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 之前记录在OneNote上感觉有点乱,而且不适合保存shell,这次重新安装又出问题了,干脆写篇博客记录。 从零开始 1、git(用来下载vim和相关插件) 2、cmake(用来编译clang-llvm) 3、vim,这里手动编译vim,因为需要python支持,直接apt-get的话会遇到很多麻烦 阅读全文
posted @ 2017-02-20 11:26 Harley_Quinn 阅读(7595) 评论(5) 推荐(0) 编辑
摘要: 首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止。最后用函数C释放资源。 1、打开目录 先看Linux的,返回的是DIR*,因此出错时返回NULL(0)。而这里不用关心DIR结构具体定义,只需要知道是 阅读全文
posted @ 2017-02-05 13:37 Harley_Quinn 阅读(6812) 评论(0) 推荐(0) 编辑
摘要: 之前是直接照着这篇的配置的强大的vim配置文件 自己也只是对vim新建文件修改文件的哪个函数SetTitle()做了点修改,毕竟用vim只写C/C++和python、shell。 没想到今天在用vim自带正则替换功能时出了问题 命令模式下这行是把当前行字符串中的from全部替换成to,结果竟然只替换 阅读全文
posted @ 2017-02-03 00:43 Harley_Quinn 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 主要参考博客gcc创建和使用静态库和动态库 对于熟悉windows的同学,linux上的静态库.a相当于win的.lib,动态库.so相当于win的.dll. 首先简要地解释下这两种函数库的区别,参考《Linux程序设计》 1. 静态库也被称为归档文件(archive,因此创建命令是ar),编译器和 阅读全文
posted @ 2017-02-01 22:19 Harley_Quinn 阅读(5667) 评论(0) 推荐(0) 编辑
摘要: 接着前两天继续看《VC深入详解》的网络编程部分,这次我快速看了遍书上的函数以及套接字C-S模型,然后自己从0开始写了个简单的服务端,结果发现一直在输出 而明明我还没有写客户端程序,由于打印的代码只有一处,在如下的while循环里 引用《UNIX网络编程》:accept函数由TCP服务器调用,用于从完 阅读全文
posted @ 2017-01-24 02:25 Harley_Quinn 阅读(14251) 评论(1) 推荐(1) 编辑
摘要: 刚开始学网络编程,稍微扩展书上的简单C/S程序时,发现以前太忽略标准I/O这一块,查官网发现C++11新增了几个格式化I/O函数。 snprintf 将格式化输出写入到有大小限制的缓存中 vfscanf 从流中读取数据到可变参数列表中 vscanf 读取格式化数据到可变参数列表中 vsnprintf 阅读全文
posted @ 2017-01-22 00:16 Harley_Quinn 阅读(2252) 评论(0) 推荐(0) 编辑
摘要: 二分查找的思想很简单,它是针对于有序数组的,相当于数组(设为int a[N])排成一颗二叉平衡树(左子节点<=父节点<=右子节点),然后从根节点(对应数组下标a[N/2])开始判断,若值<=当前节点则到左子树,否则到右子树。查找时间复杂度是O(logN),因为树的高度是logN。 二分查找分两种:一 阅读全文
posted @ 2017-01-20 00:56 Harley_Quinn 阅读(2563) 评论(0) 推荐(0) 编辑
摘要: 对于STL中的依靠比较排序的容器,均提供了一个模板参数来传递比较函数,默认的为std::less<>。 查阅Containers - C++ Reference可以看到典型的使用比较函数的容器有 分别是优先队列、集合、映射,当然multiset和multimap也一样。 这里以优先队列为例,分别给出 阅读全文
posted @ 2016-11-26 15:24 Harley_Quinn 阅读(2054) 评论(0) 推荐(1) 编辑
摘要: 调试的时候进行到delete语句时出现问题,我做的操作是在函数体内用int*申请了N个内存空间,这让我十分纳闷,为什么不能delete呢? 回忆到之前delete出错也遇过一次问题 手动封装OpenCV1.0的IplImage读取保存功能遇到的小问题 原因是申请内存并不是通过new操作,而是自带的函 阅读全文
posted @ 2016-09-10 00:16 Harley_Quinn 阅读(715) 评论(0) 推荐(0) 编辑