摘要:
一个已经编译好的程序,为什么能改变它的输入和输出方向? 因为程序内部只和文件描述符绑定了,但是可以改变文件描述符所指的具体文件。 相关内核函数图解 具体实现demo 重定向使用方法 阅读全文
摘要:
I/O级别:操作系统提供的I/O系统调用;C标准定义的I/O模型。 C语言I/O基于操作系统I/O实现,简化了操作、具备可移植性。 文本模式和二进制模式: 文件内容为依据某编码生成的字符,则称为文本文件 否则为二进制文件。 打开文件:fopen 返回指向FILE对象的指针。 参数一:文件路径 参数二 阅读全文
摘要:
我们大脑的模式匹配引擎依赖命名约定 从格式很快地知道名字的类型 1. 总体原则 描述性、完整性(除非广为人知的缩写)。 2. 文件 变量 命名空间 文件、常规变量、结构体变量、命名空间:下划线分割的全小写 类变量:最后加下划线。 3. 类型 常量 函数 类型、函数:驼峰 常量、枚举:k+驼峰 4. 阅读全文
摘要:
1. 参数顺序 输入参数、输出参数 2. 函数长度 倾向于编写简短函数,不超过40行。 3. 参数类型 输入倾向于使用const &T,输出倾向于 T*。 4. 重载 缺省参数 若要使用函数重载, 则必须能让读者一看调用点就胸有成竹。 这部分比较复杂 5. 返回类型后置 只有在必要情况下使用。 阅读全文
摘要:
1. self-contained 头文件应该自包含(独立,可以作为第一个头文件),以 .h 结尾 至于用来插入文本的文件,说到底它们并不是头文件,所以应以 .inc 结尾。 2. #define保护头文件 #define相当于一个标志,标志名格式:<PROJECT>_<PATH>_<FILE>_H 阅读全文
摘要:
project Workspace 包含WORKSPACE文件的文件夹,称为一个bazel project workspace。 WORKSPACE文件标识当前文件夹为workspace,可以为空。 BUILD file 包含BUILD文件的文件夹称为一个package。所有的package都在wo 阅读全文
摘要:
参考自:http://blog.csdn.net/sunweixiang1002/article/details/53179940 阅读全文
摘要:
首先搞清楚内联的目的:消除函数调用的开销。 1. 代码很多的函数不应该内联,因为会增加程序大小。 2. 包含循环等复杂结构的函数不应该内联,因为函数调用开销可以忽略而且增加程序复杂度。 所以应该内联那些结构简单,代码行数不超过10行的小函数。 阅读全文
摘要:
http://www.cnblogs.com/sooner/archive/2013/05/16/3082758.html Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared 阅读全文
摘要:
Ubuntu系统,Nvidia显卡 流程:安装cuda(包含显卡驱动程序以及异构编程接口等)->安装cuDNN(深度学习加速接口,即各种网络层等)->安装Anaconda(python环境)->使用pip安装TensorFlow 注意各种库的版本组合要求。 阅读全文