通过Samba我们可以将Linux上的文件夹挂载到Windows上,开台Linux虚拟机部署Samba之后,在Windows就可以使用我前几天写的远程编译插件(sublimeRemoteCompile)来写代码啦!还是挺爽的。今天把服务器配置Samba共享文件的方法简单记录一下,方便有同样需求的朋友。
工具、开发环境的知识收录
一些工具、环境配置的一些技巧或者相关的知识概念记录在这里。
SublimeText的远程编译插件
经常在Win上写一些跑在Linux上的测试小代码还需要手动在Linux下执行编译命令有些麻烦,而且我用树莓派配置samba将代码共享到Win上也需要ssh上去手动编译,有点浪费时间。
这几天闲时写了一个SublimeText的小插件,用来在windows下远程编译C/C++的代码,就是在Windows上写代码但是实际会在Linux上执行。目前只是实现了功能,等放假后休息时有空优化一下。
代码放在Github上:sublimeRemoteCompile,使用了一些C++11
的特性,编译时需指定。
数组下标访问背后隐含的逻辑
对于数组而言,下标运算是随机读写的一种方式,也是最常用的方式。但是有很多教材(尤其是国内教材)一上来就说数组名就是指针,这是不对的。而且对于数组的下标访问背后是有一套规则的,熟悉这些规则可以在一些复杂语义的情况下分析出代码的实际含义。
裹一层重载的成员函数指针
使用变长参数模板和lambda(或者使用generic lambda)来裹一层重载的成员函数指针,从而方便使用(bind绑定或者其他需要重载的成员函数指针的地方)。
关于成员函数指针的更多介绍请看我的另一篇文章:C++中指向类成员的指针并非指针。
The C++ Object and Memory Model
More documentation:Memory Model and Default Constructor Construction.
关于读书的一些思考
如何对一门不熟悉的领域或者书籍划定其中最重要的20%?如何划定细枝末节?
之前读书和学习中没有深入思考过这些方法论的东西,觉得方法论只是空谈,但是现在觉得掌握一个合适的技巧如有利刃在手,披荆斩棘方可游刃有余。
读TC++PL、C++Primer和ISO C++
花了一个月的时间读完了TC++PL4E,因为我之前读过C++ Primer,C++大部分的语法内容都已了解,所以读的速度还是比较快的,但是通过组合阅读C++标准也发现了很多C++中我原本不知道的东西,从标准和C++之父的视角来看C++确实是足够全面了,由此来对比一下C++ Primer、TC++PL4E和ISO C++文档。
What is POD in C++?
POD is Plain Old Data(普通旧数据).在C++中是指能被“仅当作数据”处理的对象,程序员无暇顾及类布局的复杂性以及用户自定义的构造、拷贝和移动语义。
激进的ADL(Argument-dependent lookup)
ADL是Argument-dependent lookup
的简写,中文译作参数依赖查找。ADL对于避免冗长的代码很有用处,但是也会造成一些歧义。