摘要:
以下内容全部是个人总结,如果有错误请指正! 在初学C++的时候,我总是彷徨于不恰当使用头文件、声明、定义、源文件而导致的各种Link错误。今天我想通过一些简单的测试,得到一些概括的,一般性的结论。(因为我没有学习过C++的编译器,所以我所以这些结论仅仅是一些根据一些现象的猜想) 实验环境:集成开发环 阅读全文
摘要:
以下内容全部是个人总结,如果有错误请指正! 在初学C++的时候,我总是彷徨于不恰当使用头文件、声明、定义、源文件而导致的各种Link错误。今天我想通过一些简单的测试,得到一些概括的,一般性的结论。(因为我没有学习过C++的编译器,所以我所以这些结论仅仅是一些根据一些现象的猜想) 实验环境:集成开发环 阅读全文
摘要:
最近在知乎看到一个很有趣的问题:如果我们穷尽一生都无法掌握前人(或机器)所研究的知识,那么我们的世界还能继续进步下去吗? 一个关于把原知识当做黑箱的答案说服了我,并让我对自己的学习乃至生活做了很多相关的思考。 当我们学习知识受寿命的长度影响的时候,或许我们可以把某个知识当做一个黑箱,从而在黑箱上发展 阅读全文
摘要:
阻塞、非阻塞、同步、异步 先抛观点: 对于一个纯粹的 IO 模型而言,不存在异步阻塞的 IO 模型,这两个词搭在一起就是有歧义的。 如果我们把整个程序开发过程中的角色分成两类:调用者和被调用者,这样就能很好地理解关于 IO 模型那些概念。 调用者:写程序的人,这个可以映射成所有已知细节的函数(确实知 阅读全文
摘要:
所有的概念都是基于一台本地的计算机上的: 1. 一个项目对应了1个本地仓库,1个或多个远程仓库。 2.一个仓库对应了多个分支,每个分支相当于一个独立的项目副本。每个时刻,git 只有一个当前分支,用来表示当前显示出来的项目副本。 3.添加,修改,删除过的文件必须手动的加载到某个分支中去(如当前分支) 阅读全文
摘要:
https://www.zhihu.com/question/24116967 吴志强的回答,回答下高大月的评论。 1.为什么要有互斥量? 因为要用来防止『查询条件符合则等待』和『设置条件则释放信号』两个事情发生竞争条件。 2.为什么要作为参数传进去? 虚假唤醒是很难避免的,其中一个原因和调度相关, 阅读全文
摘要:
http://blog.csdn.net/hbtj_1216/article/details/50961925 阅读全文
摘要:
为什么我们不用词法分析那一套方式(正则文法、有限状态机等)来解决语法分析? 正则文法通常什么样? 对于文法G=(V, T, S, P),如果产生式的形式如下: A -> xBA -> x 其中A, B属于V,x属于T*,则称为右线性文法;相似的,如果产生式的形式如下: A -> BxA -> x 则 阅读全文
摘要:
最近学习APUE读到避免线程死锁的部分,看到部分源码涉及到避免死锁部分,源码使用了散列表来实现对结构(struct)的存储与查找。 本文不讨论代码中的互斥量部分。 代码来自:http://blog.csdn.net/abcef31415926/article/details/53898325 取余法 阅读全文
|