- 博客(52)
- 资源 (2)
- 收藏
- 关注
原创 局部栈变量不要传引用给可能切换线程的函数
一般情况下,尽量不要把栈上的局部变量传地址给其他函数,特别是当其他函数需要切换线程的时候,如果其他线程对该变量调用析构函数,那么可能会core掉。因为设定局部变量的函数可能已经执行结束(异步切换线程时),如果该函数结束,那么局部变量会被析构,在其他线程中再访问这个局部变量势必会出错。如果非要用局部变量,那么必须保证定义局部变量的函数没有执行结束(即同步,线程一直在waiting)。
2015-07-16 18:13:45
683
转载 Unix或Linux中&、jobs、fg、bg等命令的使用方法
fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的一.& 最经常被用到这个用在一个命令的最后,可以把这个命令放到后台执行二.ctrl + z可以将一个正在前台执行的命令放到后台,并且暂停三.jobs查看当前有多少在后台运行的命令四.fg将后台中的命令调至前台继续运
2015-07-10 09:19:06
6149
原创 c++filt看函数名
gdb查看寄存器 i r 查看有意义的信息 函数后面的+num(行数)然后在gdb中用反汇编指令disassemble在指定行下看编译信息 _ZN6apsara5pangu15ScopedChunkInfoINS0_12RafChunkInfoEED1Evc++函数在linux系统下编译之后会变成类似下面的样子:_ZN6apsara5pangu15ScopedChunkIn
2015-07-09 18:35:50
8527
4
转载 patch -p0 和patch -p1的区别 patch 用法
http://yuxu9710108.blog.163.com/blog/static/23751534201102015254682/patch -p0 和patch -p1的区别在做usb-2.6.12LE06.patch.tar.gz补丁时候出现错误,所以找patch的方法,看到了关于参数的解释,学习了blog.chinaunix.net/u1/48180/showart
2015-06-24 14:24:37
3263
1
转载 std::function 和 std::bind
std::function 和 std::bind标准库函数bind()和function()定义于头文件中(该头文件还包括许多其他函数对象),用于处理函数及函数参数。bind()接受一个函数(或者函数对象,或者任何你可以通过”(…)”符号调用的事物),生成一个其有某一个或多个函数参数被“绑定”或重新组织的函数对象。(译注:顾名思义,bind()函数的意义就像它的函数名一样,是用来绑定函数
2015-06-10 11:09:03
443
转载 使用enable_shared_from_this
使用enable_shared_from_thishttp://blog.csdn.net/zhongguoren666/article/details/8618316说明The header defines the class template enable_shared_from_this. It is used as a base class that allows a sha
2015-06-10 10:10:33
459
原创 使用lib.exe工具和.def .dll文件生成.lib文件时遇到 无法打开*.lib文件
我们的目的就是生成指定的.lib文件,现在却说无法找到,原因是没有添加生成lib的目录和文件名。下面介绍一下整体的生成流程:第一步:找到LIB.EXE所在目录C:\\Program Files\Microsoft Visual Studio 10.0\VC\bin下 (我用的是VS2010)第二步:使用LIB命令生成.lib文件应该注意:
2015-04-02 10:55:24
3417
转载 用printf输出string类型数据总结
#include #include using namespace std;int main(){ string a; a[0]='a'; a[1]='/0'; printf("%s/n",a); system("pause");}出错: [Warning] cannot pass objects of non-POD typ
2015-03-11 13:06:04
878
转载 error LNK2005 已经在 obj 中定义 错误
>> : error LNK2005: ×××× (★★★★) 已经在 ※※※.obj 中定义 通常是由于在.h文件里定义了此变量,移动到.cpp文件里即可。并在使用到这个变量的cpp文件中加上extern int ID; 出错原因:无意中遇到了这样的编译问题, 于是google,发现在.h文件里定义变量,发生这问题的概率是灰常大的.
2015-03-11 12:53:33
10603
转载 VS2010中MIRACL lib 的生成
To build the MIRACL library with Visual C++ V8.0Select New Project, Console ApplicationName: miraclLocation: d:\myprojects (for example)Solution name: miraclClick OKClick A
2014-12-10 18:54:48
3373
转载 mysql ERROR 1017 :Can't find file: '/xxx.frm'...错误的解决方法
重启服务器之前,如果未关闭mysql,则MySql的MyiSAM表很有可能会出现 ERROR 1017 :Can"t find file: "/xxx.frm" 的错误。原因分析:不是由于"/xxx.frm"这个文件不见了,而是这些文件的权限(mysql用户)不知道为什么变成了root了。解决方法:cd到xxx.frm文件所在目录下,执行一下命令:chown mysql.mysql
2014-11-13 19:42:12
4535
转载 vim读取windows下的中文文本文件编码问题
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc(在/etc目录下面) 文件中添加以下内容:set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936其中encoding是vim的默认显示编码格式,fileencodings是vim打开文件时检测的编码格式,存在这种类型的编码即转换为utf
2014-10-23 19:30:11
509
转载 fgets函数的理解
fget函数的原型如下:char *fgets(char *buf, int n, FILE *fp)功能:从文件流读取一行,送到缓冲区,使用时注意以下几点:1.当遇到换行符或者缓冲区已满,fgets就会停止,返回读到的数据,值得注意的是不能用fgets读二进制文件,因为fgets会把二进制文件当成文本文件来处理,这势必会产生乱码。2.每次调用,fgets都会把缓冲区的
2014-10-23 18:51:27
921
转载 Socket通讯连接常见错误代码
我们正常的建立Socket连接过程都是先运行客户端程序时,客户端不断尝试去连接服务器, 如果连接失败,sleep 几秒再去连接…错误代码10061, 说明服务器已经找到,但连接被服务器拒绝,连接失败原因可能是:1. 端口号设置错误;2.服务器没有处于监听状态 (即ServerSocket –>Active=true);3.数据包被服务器端的防火墙过滤掉。
2014-10-23 16:19:05
17720
转载 关于typedef的用法总结
http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html
2014-10-18 15:21:51
452
转载 ubuntu安装配置mysql
转自:http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.html三种安装方式: 1. 从网上安装 sudo apt-get install mysql-server。装完已经自动配置好环境变量,可以直接使用mysql的命令。 注:建议将/etc/apt/source.list中的cn改成us,美国的服务器
2014-10-09 14:58:01
458
原创 gcc下使用char * char 数组 时经常会出现的*** stack smashing detected ***: 程序 terminated
定义数组空间的时候稍微把空间定义大一点,可能就不再出现这个
2014-09-15 14:48:47
791
转载 libtool: Version mismatch error. 解决方法
在编译一个软件的时候,在 ./configure 和 make 之后可能会出现如下错误:
2014-09-10 15:05:21
798
转载 unp代码在ubuntu10.04中需要作的更改
1.在tcpclisrv/下make 出错tcpservpoll01.c:13: error: ‘OPEN_MAX’ undeclared (first use in this function)
2014-08-08 10:43:28
1616
1
原创 关于c语言内存分配,malloc,free,和段错误,内存泄露
1. C语言的函数malloc和free (1) 函数malloc和free在头文件中的原型及参数 void * malloc(size_t size)动态配置内存,大小有size决定,返回值成功时为任意类型指针,失败时为NULL。 void free(void *ptr)释放动态申请的内存空间,调用free()后ptr所指向的
2014-07-20 21:40:10
5086
转载 Sizeof与Strlen的区别与联系
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的
2014-07-19 11:39:20
415
原创 pyqt4解决界面设计时控件遮挡问题
之前做的一个项目,需要使用pyqt4+eric4设计界面,于是事先拖好了控件,等着美工P图。但是图拿到以后,不知道怎么在qgraphicsview上加图片,搜了几天资料,发现相关的东西实在太少。于是打算用label代替原来的控件。奈何新添加的控件不管怎么调整都会覆盖在之前的控件上面,遮挡住之前的控件。后来经过同学提醒,发现只要把eric4自动生成的代码顺序进行调整,也就是说,把labe
2014-06-18 14:13:38
2449
转载 Python的subprocess子进程和管道进行交互
在很久以前,我写了一个系列,Python和C和C++的交互,如下http://blog.csdn.net/marising/archive/2008/08/28/2845339.aspx目的是解决Python和C/C++的互操作性的问题,假如性能瓶颈的地方用C来写,而一些外围工作用Python来完成,岂不是完美的结合。今天发现了更方便的方式,就是用subprocess模块,
2014-05-29 16:31:18
1372
转载 PyQt中嵌入图片资源
为使PyQt程序生成单一的exe,所以要将一些程序中使用的图片做为资源嵌入到程序中一. 新建资源文件在ERIC界面上切换到资源页面,如下图该页面下右键选择"新建资源...",并输入名称,如images,保存为images.qrcimages.qrc原始内容为:12345<!DOCTY
2014-05-29 16:12:52
6639
1
原创 PyQt4 动态显示ui
# -*- coding: utf-8 -*-"""Module implementing function."""import PyQt4, PyQt4.QtGui, sysfrom PyQt4.QtGui import QDialogfrom PyQt4.QtCore import pyqtSignatureimport timefrom Ui_fucntion import
2014-05-16 16:55:45
2636
转载 pyqt界面控件
QtGui.QApplication(sys.argv) #QApplication 类初始化sys.exit(app.exec_()) #进入消息循环,等待窗体退出创建主界面的两种方法1.通过继承QtGui.QMainWindow创建类QtGui.QMainWindow.__init__(self) # 调用父类初始化方法2.通过继承QtGui.QWidget
2014-05-15 13:13:32
1698
转载 Eric4入门教程
1. 新建工程。打开Eric4,选择菜单Project->New新建一个工程,名字我们取为HelloPyQt,填好各项并选择工程所在文件夹之后点OK,一个新的不含任何文件的工程就建好了。2. 新建对话框。在左侧的ProjectViewer中切换到Forms选项卡(左数第二个),右键点空白位置,选New Form,在弹出的对话框中选择Form类型为Dialog,然后会问你保存到哪
2014-05-13 16:31:25
872
转载 Ubuntu 12.04下安装配置Python 2.7集成开发环境Eric4
Ubuntu 12.04下安装配置Python 2.7集成开发环境Eric4由于网上很少有linux安装eric4的详细教程,大部分说得别人一头雾水。(没办法谁让别人是牛人,自己不是呢。)所以找了很久后,总算安装上了,现在把安装的过程记录下来。留着以后自己重装系统的时候看。话说,好记性不如烂笔头。一、安装SIP,是一个将p
2014-05-12 19:43:07
749
转载 Oracle 10g中利用哈希函数提高查询速度
当数据存储在一个普通表中的时候,这些记录将以插入到数据库时的顺序物理地保存到分配的块中。例如,如果有一个用于存储员工信息的表,那么员工姓名将会按照插入到表的顺序存储在表中。如果员工记录非常多的话,那么数据表的响应速度就会逐渐变慢。你可以通过选择值相对等分布的一列(如员工的部门编号)并建立一个簇表来提高查询员工的速度。在簇表中,如果员工属于同一个部门,那么它们的记录将物理地存储在同一
2014-04-21 10:46:23
1046
1
转载 Python实战之Oracle数据库操作
本文地址:http://blog.csdn.net/kongxx/article/details/71076611. 要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通过下面的地址来获取安装包[plain] view plaincopyprint?http://cx-oracle.sourceforge.n
2014-04-12 11:32:25
684
转载 Python处理大文件
要将一个4G的文本文件切分开读取文本文件大致有read() 、readline()、readlines()三种read()会将所有内容读入到一个字符串中readlines()将所有内容按行读取,返回一个列表,列表中每个元素是一个字符串,一个字符串是一行内容,所以可利用如下格式处理[python] view plaincopy
2014-04-12 11:30:24
949
转载 [综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
感谢面试群 S-北京-陈磊 的整理分享。基础篇:操作系统、计算机网络、设计模式一:操作系统1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用户态和核心态的区别。
2014-04-12 11:27:24
938
转载 主流数据库字段类型转.Net类型的方法
最近在阅读一些开源的代码,发现其中有些方法总结的很全面,至少在我做同样的事情时候,需要抓破脑袋想活着google,现在看到了这个关于主流数据库字段类型转.Net类型的方法,故收藏之,也顺便分享给那些能看到这篇文章的同学。具体代码如下 :/// /// Default IDataType implementation (see IDataType for details)
2014-03-08 13:52:31
822
转载 oracle错误小结
1.Oralce 默认的用户为:SYS,SYSTEM,scott等,安装时候要注意给他们解锁设置密码.2.一般使用scott/tiger进入sqlplus或者isqlplus,因为命令行提示符下可以使用方向键来回切换修改 比较方便所以一般使用命令行提示符,即使用sqlplus而不使用isqlplus3.切换用户使用 conn sys/change_on_install as sy
2014-02-26 20:38:05
879
原创 在ubuntu10.04上 安装 QT5.1.1 后打不开qt creator (opensource)的解决方法
首先,晒一下 安装方法:Method 2 of 2: Qt SDK 5.0 Installation Instructions: 1. First determine your Ubuntu Linux operating system bit version by opening up a terminal and typing the fo
2013-12-23 17:41:03
3177
原创 近期错误小结
1. 关于段错误: 虽然调试器不能用,eclipse也无法定位代码行,但是在大神的帮助下,还是利用了printf 语句不断定位,最终找到了产生错误的地方,成功解决了段错误。 段错误一般都是与内存越界访问之类的有关,这次的错误是赋值的时候,将两个字符拼接得到的字符串需要的内存空间大于目标变量的空间,因此出现了段错误。 解决办法:重新写了C的字符串拼接函
2013-12-10 23:39:41
462
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人