摘要:
来看这个代码: int fun(int& a) { int b = a; int c = a; return a+b+c; } int main() { int a=1; //.........做一些和a无关的事 return fun(a); } 这个代码是很好优化的,因为编译器知道a的值是1,参考上下文,编译器又能知道b和c的值也是1,而且根本没... 阅读全文
摘要:
来看这个代码: int fun(int& a) { int b = a; int c = a; return a+b+c; } int main() { int a=1; //.........做一些和a无关的事 return fun(a); } 这个代码是很好优化的,因为编译器知道a的值是1,参考上下文,编译器又能知道b和c的值也是1,而且根本没... 阅读全文
摘要:
#include typedef struct _Node{ int value; _Node *next;}Node; void AddNodeTail(Node *&head, int value){ Node *newNode = new Node; newNode->value = value; newNode->next = NULL; if(head... 阅读全文
摘要:
diff是Unix系统的一个很重要的工具程序。 它用来比较两个文本文件的差异,是代码版本管理的基石之一。你在命令行下,输入: $ diff diff就会告诉你,这两个文件有何差异。它的显示结果不太好懂,下面我就来说明,如何读懂diff。 一、diff的三种格式 由于历史原因,diff有三种格式: * 正常格式(normal diff) * 上下文格式(context diff... 阅读全文
摘要:
使用脚本监控指定进程内存占用,当进程占用内存超过设置阈值时,生成对应的coredump文件以及使用gdb命令输出进程的全部线程信息,从而保存进程在系统kill前进程信息,方便后续对内存急剧上涨的调试。 #!/bin/bash #usage: nohup ./memcheck.sh > /dev/null 2>&1 & #set -x PROC_NAME="memchk_test" #进程名称 ... 阅读全文
摘要:
在Win7下使用MySQL5.6.35创建用户时,提示权限不足,具体解决方案如下: 1 停止mysql服务 net stop mysql 2 打开新的cmd窗口,切换到bin目录,运行如下命令,cmd窗口保留 mysqld --defaults-file="D:\program\mysql-5.6.35-winx64\my-default.ini" --console --skip-grant-t... 阅读全文
摘要:
在调试多线程程序时,经常需要查看线程堆栈信息,如果线程数目过多,每次查看一个线程堆栈,繁琐耗时。下面介绍一种一次性将所有线程堆栈输出到文件的方法。 首先,将gdb attach到调试线程 然后,在GDB中设置调试文件路径,并开启日志选项 最后,输出所有线程堆栈到指定文件 或者简化命令 直接输出所有线 阅读全文
摘要:
1 外链使用场景 使用Subversion进行版本管理时,有时需要将一些公共库或者开源库链接到自己项目中,为了同时做到与外部库实时更新,使用Subversion的外链功能,从而将外部的库当做本地项目的一部分。 2 创建外链 通过Tortoise客户端,将需要创建外链的工程检出到本地,在工程目录下,点击“TortoiseSVN”->”属性”->”新建”->”外部” 在弹出的对话框中填入本地和SVN... 阅读全文
摘要:
一个大项目在开发中可能会拆分成几个小项目,分别分去,同时共通的部分再由人做,做完后再统一合并。同时,在开发中,共通的部分修改后,其它人要保持同步。 这种情况反应到SVN的分支/合并功能上,再贴切不过了。 SVN可以为一个版本库中的内容(主干)建立一个分支.分支和主干完全独立,就相当于把代码再复制一份,重新添加到版本库中。但SVN提供另一个功能,就是把主干做出的修改合并到分支中,以及把分支修改的... 阅读全文
摘要:
#include using namespace std; class Callee { public: void PrintInfo(int i) { cout (arg); callee->PrintInfo(i); } }; typedef void(*CallbackFunctor)(void*, int); class Caller {... 阅读全文
摘要:
在win7环境下,使用桥接和NAT模式配置VMware虚拟机网络,实现宿主机与虚拟机以及虚拟机通过宿主机网卡访问互联网。 1 配置VMware虚拟网络编辑器 VMnet0 桥接模式 VMnet1仅主机模式 VMnet8桥接模式,其中子网IP配置自己希望的网段,并点击“NAT设置”设置网关IP 上述设置完毕后,在宿主机win7的网络适配器中看到如下网卡信息以及IP地址信息 为了使虚拟机可... 阅读全文
|