- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 NCurses简介 —— 译文
NCurses简介1. Introduction1.1. What is NCURSES?1.2. What we can do with NCURSES1.3. Where to get it1.4. Purpose/Scope of the document1.5. About the Programs1.6. Other Formats of the document1.6.1. Readi...
2020-05-06 04:23:03
1197
原创 TypeScriptToLua如何支持循环引用
TypeScriptToLua如何支持循环引用循环引用循环引用(Circular Require, Circular dependencies),在lua环境中,指的是这样的情况:有两个lua文件A和B,文件A中require了B,文件B中require了A,这样在lua解析时会陷入死循环。很容易想到,在文件require(也就是加载)的时候,应该有三种状态。未加载加载中加载完成...
2019-11-25 20:54:52
1148
原创 C 的空类为什么占一个字节
情景分析#include <stdio.h>class A {};int main(int argc, char *argv[]){ printf("%ld\n", sizeof(A)); return 0;}Linux端g++ -S下得到的汇编(部分代码) .file "emptyclass.cpp" .t...
2019-10-17 23:34:29
557
原创 C++的虚函数与内存
C++的虚函数实现概念虚函数虚函数指针虚函数表/虚函数入口表虚函数表指针虚函数表(指针)在对象内存空间的位置虚函数表是对象之间共享的还是对象私有的?虚函数表的内存空间在运行时环境的哪个内存段?虚函数表可以修改么?虚函数表所指向的内存空间由谁创建的?编译器还是运行时库?虚函数表的结构。两张虚函数表在内存中是连续的么?概念虚函数由virtual描述的类成员函数,如class A { v...
2019-10-17 23:08:48
773
原创 变长参数表va_list,模板template,打造通用函数
假设我想写一个支持变长参数的max函数。template <typename T>T max(T first_arg, ...){ if (first_arg == ???) // Q1. return ???; // Q2. va_list ap; va...
2019-08-14 21:53:54
322
原创 redmine搭建心得(apache+fcgi)
首先声明我不会Ruby,但是参考网络资料搭建起来花时也就一天,不是什么难事。主要的资料包括两篇官方文档,和一篇博客:[[http://www.redmine.org/projects/redmine/wiki/RedmineInstall]][[http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Apache_to_ru...
2019-08-14 12:16:53
1423
原创 学习python的我,为何越发觉得熟悉Linux内核真的很重要?
Python作为目前最为火爆的脚本语言,其丰富的Package库和跨平台等特性有目共睹。曾今,以功能实现、产品交付为工作主导的我,自以为所谓的“跨平台”就是不需要去了解平台细节,Python语言底层都封装好了。但如果想从性能方面思考自己的程序,多压榨机器资源来体现自身的专业素养,就不得不激发自己的好奇心,去了解这一个个“封装”都咋实现的,不同有什么区别。比如,前几周开发Python爬虫时,就...
2019-06-29 02:30:51
719
原创 .vimrc配置(持续更新)
参考vimbook-OPL,windows下默认配置和网友的总结,感觉自己也要维护配置文件才算入门。文件目录unix/linux: $HOME/.vimrcwindows: $vim安装目录_vimrc这些都可以在gvim的【启动设置】中打开gvim和vim的区别就是前者是GUI,后者是在控制台环境中的(Linux下叫xterm,注意如果xterm本身带配色的话,它会影响.vimrc的...
2019-06-10 02:25:04
1263
原创 分享一个控制台翻译工具
用起来长这样环境:VirtualBox+Ubuntu 18.04.02最近逛Ubuntu应用商店,看到网友做了这么一个东东,感觉想法挺不错的。学习Linux经常要阅读英文文档,手上有个控制台输出的翻译工具,CTRL-TAB切换到终端,只需敲打相关的命令就可以马上弄明白词义。整个过程连鼠标都不用碰,确实会比GUI翻译工具效率高出不少。当然也有网友自己写了个linux终端翻译神器,来实现...
2019-06-10 02:00:59
1367
原创 python对字符编码的处理(原理篇)
python处理字符编码(原理篇)一些关于终端的实验代码页UnicodeUnicode 和 utf8 之间的转换文件的字符编码检测一些关于终端的实验首先先做个小实验,回答上篇两个简单的问题:文件读写接口的具体不同?文本分段fwrite,会不会乱码?#include "stdafx.h"#include<stdio.h>#include <string.h>...
2019-05-25 15:46:18
3091
2
原创 python对字符编码的处理(源码篇)
示例代码如下其中,a直接回车打印的是16进制编码,print a打印的是汉字,怎么做到的?变量名+回车的方式首先注意我们是在交互环境,输入的内容会立即解析,其源头就是将标准输入当成了读取文件一样:intPy_Main(int argc, char **argv){... sts = PyRun_AnyFileExFlags(...
2019-05-23 01:30:08
956
原创 2D地形对象区域优化-矩形合并算法
拿到一个单元格列表,在最短的时间内,将相邻的单元格列表拼接,得到一个矩形数目最少(最优解)的矩形列表。你能想到什么方法么?
2017-02-27 10:01:33
4372
6
原创 C++中_cdecl _stdcall _fastcall _thiscall函数调用总结(对照汇编代码)
首先,我们要学会在Visual Studio 2008中学会查看C++代码对应的汇编代码。给程序添加断点并开始调试程序后,对文件中间右键=》转到反汇编,即可看到汇编代码。汇编代码用//注释,说明用/**/注释,分别使用基本数据类型、数组、指针、引用四种数据类型的参数进行比较,代码如下:#include <iostream>using namespace std...
2011-03-08 18:26:00
1061
原创 VirtualBox配置实现内外网络互访问
环境:宿主机操作系统 Windows XP sp3虚拟机软件 VirtualBox虚拟机操作系统 Fedora(Linux)一、使虚拟电脑Fedora能够上网原理:NAT(网络地址转换模式) 使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网
2011-02-21 01:35:00
2326
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人