- 博客(27)
- 收藏
- 关注
转载 GTK+与MFC不完全对比GTK+与MFC不完全对比
MFC已经江河日下,日渐式微,而GTK+可谓欣欣向荣,如日中天。这里无意于落井下石,痛打落水狗,贬MFC而尊GTK+。自己即在使用MFC也在使用GTK+,不会偏袒其中之任何一方。 这个对比完全出于个人对两者的理解,说它是不完全对比,一方面只是一时兴起想做个笔记而已,另外一方面我对两者的理解也是有限的。 1. 两者都是基于面向对象设计的。尽管MFC是用C++写的,而GTK+是用C写的
2013-06-14 10:52:10
690
转载 使用 <map> 库创建关联容器
使用 库创建关联容器作者:Danny Kalev编译:MTT 工作室下载源代码原文出处:Use the Library to Create Associative Containers摘要:当索引是整型,那么将值与之关联并不难,但如果数据的关联值对是其它数据类型怎么办呢?库具备一个关联容器,使用它可以很方便地关联所有类型的数据对。本文将讨论 库的使
2012-04-26 16:22:06
447
原创 C++ previous declaration of...with 'C++' linkage
在C++环境下使用C函数的时候,常常会出现编译器无法找到obj模块中的C函数定义,从而导致链接失败的情况,这是因为C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译器,请保持我的名称,不要给我生成用于链接的中间函数名。但有时还会出现...
2011-12-15 11:05:13
2150
原创 用C++调用C的库函数
http://linhs.blog.51cto.com/370259/140927 C++调用C的库函数时,如果头文件定义得不恰当,可能会出现明明某函数在obj文件中存在,但是却发生链接失败的情况,出现如下错误: undefined reference to 'xxx' 出现问题的原因是c库函数编译成obj文件时对函数符号的处理和C++不同。因为C++函数...
2011-12-09 18:06:54
239
原创 linux:vi 替换命令
vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ ...
2011-11-17 14:43:02
95
原创 Linux添加/删除用户和用户组
1、建用户:adduser phpq //新建phpq用户passwd phpq //给phpq用户设置密码2、建工作组groupadd test //新建test工作组3、新建用户同时增加工作组u...
2011-11-08 09:10:28
131
原创 如何为vmware添加新硬盘 挂载新硬盘 硬盘扩容
常用虚拟机的朋友可能都会遇到一点小问题,就是用着用着虚拟机硬盘空间过小,需要硬盘扩容。自己重新装一个吧,又挺麻烦。于是,上网搜了下关于vmware硬盘扩容的方法。网上也有好多人给出了一些指点,但是总有些些许许的小问题。笔者通过实验,总结了添加新硬盘 挂载新硬盘 硬盘扩容的一些方法,仅供大家做个参考。Vmware下载地址:vmware下载一:首先介绍硬盘扩容的方法...
2011-11-08 08:53:32
189
原创 认识优化查询中的Merge Join、Nested Loops和Hash Match
SQL ServerSQL算法多线程数据结构1.基本概念: Merge Join([排序]合并联接)、Nested Loops(嵌套循环联接)、Hash Match都是物理运算符。 Merge Join常执行Inner Join(内部联接)、Left Outer Join(左外部联接)、Left Semi Join(左半部联接)、Left Anti Semi Join(...
2011-11-07 17:02:04
253
原创 SQL 左外连接,右外连接,全连接,内连接
连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件。WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行。 连接可分为以下几类: 内连接。(典型的连接运算,使用像 = 或 之类的比较运算符)。包括相等连接和自然连接。 内连接...
2011-11-07 16:48:36
147
原创 undefined reference to error解决方法
Linux下编译程序时,经常会遇到“undefined reference error” 报错,这里总结一些可能的原因和解决方案,给需要的朋友:说道undefined reference error,先提一下Linux gcc链接规则:链接的时候查找顺序是:-L 指定的路径, 从左到右依次查找 由 环境变量 LIBRARY_PATH 指定的路径,使用":"分...
2011-10-21 16:48:56
179
原创 switch和if-else性能比较
switch和if-else相比,由于使用了Binary Tree算法,绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true.说实话 我也没有深入研究过这个问题的根源只是在实际开发中 没有人会去用很多很多else if的都是用 switch case 的 后者比较清晰 给人感觉就是一个脑子很清楚的人写出来的东西至于效率的本质 就让大企鹅去操心吧编译器编译s...
2011-10-19 11:25:44
236
原创 C++获取系统时间
//方案— 优点:仅使用C标准库;缺点:只能精确到秒级#include #include int main( void ){time_t t = time(0);char tmp[64];strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) );p...
2011-10-13 15:24:44
106
原创 在Linux下安装CUnit
具体每个平台的安装方法不一样,以下只是Red Hat Enterprise 4的安装方法,其他平台请参见CUnit 的README文件[root@localhost ~]# uname -aLinux localhost.localdomain 2.6.9-78.ELsmp #1 SMP Wed Jul 9 15:39:47 EDT 2008 i686 i686 i386 ...
2011-10-11 18:45:34
132
原创 安装openssl错误
su - dbra su root cd /dbra/app/softs/ruby-1.8.6-p114/ext/openssl rm -rf *.o,openssl.so,Makefile ruby extconf.rb --with-openssl-dir=/dbra/app/lib/openssl make make install ossl_asn1.c...
2011-10-11 17:21:20
588
原创 自动ftp脚本实例
1、linux下把文件传到另一个地方。 auto_ftp.sh 内容如下:#!/bin/bashftp -i -n 192.168.*.*
2011-10-09 20:49:35
273
原创 free(p)和p=NULL的区别
不相同!free(p)指的是收回分配给它的空间,至于收回后p还指向之前的地址,不过里面的内容已经被清空了或者是乱码(这点可以编程输出一下p指向空间的内容,我在不同的机子上试的结果的不同,不过大多数是清空了的。而赋值为NULL,就是让其指向NULL这个地址。但是分配给p的那块内存不会收回去,这样就会造成内存的浪费!一般比较安全的写法是:free(p); p=NULL...
2011-09-27 19:05:09
3303
原创 malloc函数与relloc函数
以前都在C++中new一个内存空间,在C中,就得用另一函数malloc申请自己指定大小的内存空间,如果想动态申请内存空间可以使用relloc函数。 void *mallco(int size); malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针,可以强制转换为任何其它类型的指针。 需要注意的是...
2011-09-27 16:09:03
295
原创 Ubuntu中设置vi编辑器语法着色和高亮显示,解决vi方向键问题
网上找解决vi方向键的问题,有多种方法,找到一种如下,并有高亮显示的方法。在Ubuntu Linux下好像对于编程语言默认不进行高亮显示,不过可以自己设置完成这项功能:sudo apt-get install vim-fullcp /usr/share/vim/vimcurrent/vimrc_example.vim ~/.vimrc另外,其實系統裏沒裝vi,只裝了vim-ti...
2011-09-22 13:42:56
822
原创 gdb多线程/多进程(守护进程)调试
一 调试多进程1) follow-fork-mode : set follow-fork-mode [parent|child]parent: fork之后继续调试父进程,子进程不受影响。child: fork之后调试子进程,父进程不受影响。 在使用如下方法设置完要调试的程序后: gdb命令行的 –-args 参数gdb环境...
2011-09-19 13:35:46
485
原创 unzip命令,linux下解压zip
linux自带的unzip命令可以解压windows下的zip格式的压缩文件。unzip命令 语法:unzip [选项]压缩文件名.zip 各选项的含义分别为: -x 文件列表解压缩文件,但不包括指定的file文件。 -v 查看压缩文件目录,但不解压。 -t 测试文件有无损坏,但不解压。 -d 目录把压缩文件解到指定目录下。 -z 只显示压缩文件的注解...
2011-09-14 20:21:06
130
原创 linux 替换文件内容 vi
find -name 要替换文件内容的文件名 | xargs perl -pi -e 's|被替换的字串|替换的字串|g'比如要把当前的文件myctxt 中的mysex替换为sex,那么就这么写,如下find -name myc.txt | xargs perl -pi -e 's|mysex|sex|g'用VI 就是:在一行内替换头一个字符串 old 为新的字符串...
2011-09-13 15:15:22
455
原创 std::string 和 c 的字符串 - [c & c++]
Tags:std::string 的初始化碰到一个问题, 拿一个 char* 的指针当构造函数的指针, 运行时出现:terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct NULL not valid已放弃原因在于没...
2011-08-31 21:50:10
165
原创 Linux ps命令
1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。 2)ps -A 显示所有程序。 3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 4)ps -e 此参数的效果和指定"A"参数相同。 5)ps e 列出程序时,显示每个程序所使用的环境变量。 6)ps f 用ASCII字符显示树状结构...
2011-08-30 09:39:09
79
原创 GDB的使用
当程序出错并产生core 时 快速定位出错函数的办法 gdb 程序名 core文件名(一般是core,也可能是core.xxxx) 调试程序使用的键 r run 运行.程序还没有运行前使用 c cuntinue 继续运行。运行中断后继续运行 q 退出 kill 终止调试的程序 h help 帮助 命...
2011-08-30 09:25:31
88
原创 linux下解压zip文件
linux自带的unzip命令可以解压windows下的zip格式的压缩文件。unzip命令 语法:unzip [选项] 压缩文件名.zip 各选项的含义分别为: -x 文件列表 解压缩文件,但不包括指定的file文件。 -v 查看压缩文件目录,但不解压。 -t 测试文件有无损坏,但不解压。 -d 目录 把压缩文件解到指定目录下。 -z 只显示...
2011-08-30 09:22:28
61
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人