代码改变世界

RAII in C++

2013-06-16 19:45 by DVwei, 462 阅读, 0 推荐, 收藏, 编辑
摘要:在C++中,如果对一个块直接分配资源,而且在释放资源之前发生异常,那么这些资源在栈展开(注1)期间将不会得到释放。例如,一个块可以通过调用new动态分配内存,如果该块因异常退出,编译器将不会删除该指针,已分配的内存也不会得到释放。 比如下面这个函数:void funtion(){ vector<string> str_vec; string s; while(cin >> s) v.push_back(s); string *p = new string[v.size()]; delete [] p;} 这... 阅读全文

ubuntu12.04 移动根分区

2013-05-27 12:14 by DVwei, 236 阅读, 0 推荐, 收藏, 编辑
摘要:原根分区所在:/dev/sda3移动到:/dev/sda2在LiveCD下:先把/dev/sda3所有文件复制到/dev/sda2cp -ax /原根目录 /新根目录修改/boot/grub/grub.cfg和/etc/fstab,把这两个文件里原来的/dev/sda3的uuid全部替换成/dev/sda2的uuid重启即可。如果无法启动,需重新安装grubgurb-install --boot-directory=/mnt/ /dev/sda #/mnt为boot分区挂载目录重启即可 阅读全文

opencv学习笔记

2013-05-20 10:47 by DVwei, 1553 阅读, 0 推荐, 收藏, 编辑
摘要:1.从官网(http://opencv.org/)上下载源码,编译安装,编译通过,未发现错误。2.编写了如下测试程序://showImage.cpp#include "highgui.h"int main( int argc, char **argv ){ IplImage *img = cvLoadImage( argv[1] ); cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE); cvShowImage("Example1", img); cvWaitKey(0); cvReleaseI 阅读全文

利用aria2搭建远程下载服务器

2013-05-19 17:03 by DVwei, 12904 阅读, 0 推荐, 收藏, 编辑
摘要:服务器端安装aria2c:sudo apt-get isntall aria2c配置~/.aria2/aria2.conf#最大同时下载数(任务数), 路由建议值: 3max-concurrent-downloads=10#断点续传continue=true#同服务器连接数max-connection-per-server=5#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要min-split-size=10M#单文件最大线程数, 路由建议值: 5split=10#下载速度限制max-overall-download-limit=0#单文件速度限制max-download 阅读全文

MySQL Connector/C++(一)

2013-04-18 21:06 by DVwei, 6222 阅读, 0 推荐, 收藏, 编辑
摘要:英文原文:http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html#trx如果我翻译错了或者翻译的不好,欢迎指正~Developing Database Applications Using MySQL Connector/C++这个教程会教你搭建安装MySQL Connector/C++ driver的要点和步骤,以一个简单的连接MySQL的例子,从MySQL中获取数据并对其进行插入(数据)操作。因为重点在于从C++程序连接数据库,所以本文档假设MySQL已经运行并且能从客户端访问。本文是面向那些初次接触MyS 阅读全文

交叉编译qt4.8.4 for ARM

2013-04-10 17:25 by DVwei, 5372 阅读, 0 推荐, 收藏, 编辑
摘要:所需工具: 交叉编译工具:arm-linux-gcc 4.4.3 qt4.8.4源码包:qt-everywhere-opensource-src-4.8.4.tar.gz编译: 解压qt4.8.4源码包:tar -zxvf qt-everywhere-opensource-src-4.8.4.tar.gz 设置交叉编译工具链,修改文件/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-arm-gnueabi-g++ /qmake.conf,修改内容如下: # modifications to g++.confQMAKE_CC ... 阅读全文

7个致命的Linux命令

2013-03-30 18:57 by DVwei, 154 阅读, 0 推荐, 收藏, 编辑
摘要:原文地址:http://linux.cn/thread/10246/1/1/如果你是一个linux新手,在好奇心的驱使下,可能会去尝试从各个渠道获得的命令。以下是 7 个致命的 Linux 命令,轻则使你的数据造成丢失,重则使你的系统造成瘫痪,所以,你应当竭力避免在系统中运行它们。rm -rf /此命令将递归并强制删除 / 目录下的所有文件。char esp[] __attribute__ ((section(”.text”))) /* e.s.prelease */= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″“\xff\xff\xf 阅读全文

翻译:netcat manual

2013-03-23 22:21 by DVwei, 604 阅读, 0 推荐, 收藏, 编辑
摘要:因为最近在搭建服务器要用到nc,所以阅读手册的同时也顺便把它翻译了,我的英语不好,如果哪里翻译错了,请指正。NC(1) BSD General Commands Manual NC(1)NAME nc — arbitrary TCP and UDP connections and listensSYNOPSIS nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protoc... 阅读全文

利用nmap扫描整个局域网活动主机的IP-MAC和Port

2013-03-22 19:46 by DVwei, 34866 阅读, 2 推荐, 收藏, 编辑
摘要:通过nmap扫描完之后,查看arp缓存表即可查看IP-MAC表进行ping扫描,输出所有响应的主机IP:nmap -sP 172.17.148.0/24 Nmap scan report for 172.17.148.19Host is up (0.0029s latency).Nmap scan report for 172.17.148.28Host is up (0.00069s latency).Nmap scan report for 172.17.148.36Host is up (0.0067s latency).Nmap scan report for 172.17.148.. 阅读全文

读书笔记:C++中利用智能指针和值型类防止内存非法访问

2013-03-10 18:18 by DVwei, 735 阅读, 1 推荐, 收藏, 编辑
摘要:在程序当中,经常会用到一些共享对象。一个具有指针成员的类,如果发生复制行为,一个指针复制到另一个指针时,两个指针就指向同一个对象。此时就可以使用任一指针改变这个共享的对象。那么,如果一个指针删除了这个共享对象,那么另一指针就成了悬垂指针,如果再对此对象进行操作时,就会发生内存访问错误。而C++中无法判断一个指针所指向的内存是否有效,这是非常危险的。 看下面一个例子:class MyClass{ public: MyClass(int *p,int i): ptr(p),value(i) { } ~MyClass() { delete ptr; } ... 阅读全文