- 博客(29)
- 问答 (3)
- 收藏
- 关注
原创 STL的区间问题
STL的区间问题我们在给STL赋值时,有时会使用区间进行赋值,如下::std::vector vec1({1,2,3,4,5,6});::std::vector vec2(vec1.begin(),vec1.begin()+3);一定要注意这里在构造vec2时是一个前合后开的区间[ vec1.begin(),vec1.begin()+3 )。最后的一个元素是取不到的。...
2018-05-03 21:27:46
251
原创 智能指针使用中的几个问题
智能指针能不能传出去和智能指针能不能传进来智能指针对于C++使用者来说,应该是非常友好了,C++的指针特性使得C++可以非常方便的操作内存,但是如果不能很好的使用,他也会给使用者带来一些困扰,比如C++维护的指针能不能传出去呢?我们有时候需要将一个智能指针维护的指针传出去,有时是因为接口无法改变,有时候是因为需要赋值给普通指针,这时候可以想一下,如果指针传出去了,那么谁来维护传出去的指针呢,万...
2018-04-16 20:46:31
570
原创 Git的几条常用命令
Git以前在windows下面协同写程序的机会不多,现在在linux下面协同写程序的机会比较多,因此Git就用的比较频繁,熟悉Git的常用操作会节省不少时间。情形1 :拷贝代码当开始入手新的代码时一般需要拷贝基础代码,这时候先拷贝基础代码的Git地址,就是远端的代码库地址,然后git clone 地址,就拷贝到目前terminal所在的路径。情形2:上传代码当我们需要对...
2018-04-12 22:51:46
169
原创 Boost中的线程同步
写在前面:最近入职了新的公司,人生已经翻开了另外一页,对于我而言,目前工作上还没有出现太大的挑战,我总是这样,自鸣得意。换了平台对于windows下的程序员来说,转换到linux是一件很 en。。。。蛋疼的事情。 刚入职工作自然是熟悉代码了,其实,我的C++功底还是不错的,我的最主要问题是看的代码少,协的代码少,但我知道的多呀,所以对于有些技术查一下就会用,我又开始了。 最近我发现了公...
2018-04-11 22:18:51
827
原创 主页被篡改的三条应对技巧
主页被篡改的三条应对技巧现在装软件很容易被恶意的国产互联网公司绑架,像腾讯、百度、360、金山等垃圾的国产互联网公司制造了大量的主页篡改病毒,不知道是不是有意为之,他们还一致都做杀毒软件,真是讽刺,遇到这种问题很头疼,因为往往对技术不是太懂的人根本没办法解决,我这里总结了一系列在跟这些垃圾公司斗争中的战斗经验,分享一下(这里用的是win10,其他系统下同理)1.篡改主页,最低级的方
2018-01-05 17:12:55
1107
1
原创 2017/11总结
1、SQL语句编写时别忘了在字符字段上面加‘’; 2、如果VS项目的优化没调好,也可能会出现问题,为了保证项目正常运行,尽量进制优化,这样方便调试; 3、linux下尽量不要使用legacy版本的项目,如果想安装开源项目,尽量去github上 选择版本clone; 4、MongDB 32位版本单表支持的数据量为2GB;
2017-11-27 11:19:20
159
原创 Apache文件加载流程
我们使用Apache服务器时大多会自己开发新的模块用来进行数据传输,还会将自己定义的文件加入到服务中,这个过程相当于对Apache进行二次开发。 Apache的模块应该包括一个module对象,如下面这个, module AP_MODULE_DECLARE_DATA epgs_db_module = { STANDARD20_MODULE_STUFF, NULL,
2017-10-24 14:38:53
454
原创 Apache模块加载流程
Apache的模块加载包括两部分 第一部分是prelink的模块,这部分模块已经链接好了 在modules.c中AP_DECLARE_DATA module *ap_prelinked_modules[] = { &core_module, &win32_module, &mpm_winnt_module, &http_module, &so_module,
2017-10-23 18:04:14
1094
原创 动态库链接问题LNK2019
动态库链接问题是编译中很常见的问题,经常会出现无法解析的外部符号的问题,遇到这种问题时,基本思路是 1、先找包含路径,看看有没有包含相应的头文件路径,当然如果没有相应的头文件路径,会报头文件找不到的错误,但是如果头文件在代码中也没有#include,就找不到这种错误提示,出现无法解析的外部符号,所以要看设置中是否有头文件路径,也要看代码中是否加入了包含了(#include)头文件;
2017-10-13 18:07:35
1146
原创 zlib压缩库解压失败的问题
使用zlib解压缩的时候,偶尔会出现这种情况,解压缩没有成功,返回值为-3,即Z_DATA_ERROR,但是实际上有正常的值被解压出来,今天仔细研究了一下这个问题,找到zlib压缩库的源码,发现有一句提到 返回Z_DATA_ERROR的原因是数据错误或者数据不完整 因为有很多数据解压是成功的,因此,数据不完整的可能性比较大,我在压缩时,解压完之后数据的大小这个参数s
2017-08-30 23:38:50
4762
原创 指向指针的指针的用途
在阅读apache的源码时,发现一处使用指针的指针的案例,平时没有够多考虑指向指针的指针这个问题,今天顺便理解了一下,这里沾上apache的源码,这时apr一个很经常用的函数,就是根据字符串的中断值来获取中断值隔开的字符串,比如“T=0&L=1&X=2&Y=3”,这个函数可以通过‘&’来获取T L X Y的值,它会将开始的字符串地址输入str,中断值输入为sep,last是中断值后面字符串开始的地
2017-07-19 12:08:06
3528
原创 VS项目工程环境相关问题
1.代码生成的相关问题 每当调用第三方库生成DLL动态库时,总是需要将代码生成的模式调成一致,那么在这里代码调试的模式分别代表什么呢?在VS项目工程中一共有三种模式四种模式可选,分别是多线程(/MT)、多线程调试(\MTd)、多线程(\MD)、多线程调试(\MDd)四个选项,现在已经不提供单线程版本的代码生成选项了。 在我们写程序的时候,比如打开文件,这时候就
2017-07-14 18:01:56
318
原创 2017/6/15技术总结(little_tiff_processor)
1.在编译成Release放在客户机上运行时,如果没有将链接改为静态链接,会出现缺少vs类库的问题,奇怪,以前做的工具为什么没有出现这种问题,这里只需要修改vs中的配置就可以了,在代码生成->运行库->多线程(/MT),这样就将vs基础类库的链接方式改为了静态链接,不需要基础类库的dll了,但是如果是MFC中,还需要将修改常规->MFC的使用->在静态库中使用MFC。 2.在使用bd
2017-06-15 11:24:54
331
原创 C/C++中的几种类型的指针简析
现在流行的是32位和64位的CPU,对于指针来说不存在几种类型了,这里说的指针类型是指16位CPU中的near和far指针。INTEL的8086CPU中采用20位地址总线,寻址范围为1MB内存,它的数据总线,为16位,可以寻找的地址为64kb,这就需要给内存分段,每段为64kb。near指针就是只能在每段内寻址的指针,它是一个16位的指针,2^16=64kb,寻址范围为一个段内。far指针则是
2017-06-02 15:59:52
480
原创 sqlite3_reset作用
刚开始使用sqlite的时候,在一句sqlite执行完之后,习惯性的认为应该执行sqlite3_reset()函数,认为将其重置就能重复使用sqlite3_stmt,其实这是错误的,sqlite3_reset()操作的作为是: 1.如果之前没有执行sqlite3_step()或者执行了sqlite3_step(),并且sqlite3_step()返回了SQLITE_DONE、SQLITE_OK、
2017-05-02 16:13:42
7878
原创 关于c++中位运算&0xff的一些理解
在vs编译器中,当我们对一个值进行&0xff操作时,其实并不是与一个字节进行操作,默认的,当我们对一个字节进行0xff操作时,编译器首先会将0xff赋给一个整型的临时变量,这时候进行运算的就不是一个字节了,而是一个0x000000ff,四个字节,这时候得到的结果也就不是一个字节了,而是一个四字节的临时变量。 这样不仅可以用来进行取低八位,而且可以将有符号单个字节的值按照无符号转换
2017-03-31 15:00:33
8828
原创 通过形参获得函数返回值的问题
我们经常会用到将一个参数在函数外部初始化,然后传入函数,函数给参数赋值后,我们在函数外部使用这个值,最开始学习c++的时候我们就知道这需要将参数以引用的方式传入,却没有更深层次的考虑这个方法的原因,为什么传指针就不行呢?其实这个问题更深层次的原因是形参也是一个变量,我们在将一个初始化好的参数传入函数时其实是将参数赋给形参,比如void copy1(char*data1){ char* valu
2017-03-24 11:30:08
3197
原创 qAdmin cannot perform this operation on a closed dataset
SQLite Administrator支持只ascii字符,不支持unicode等其他字符
2017-03-21 11:34:59
2732
原创 Apache安装时出现OS:拒绝访问的解决办法
找到系统盘中系统工具 32位为C://windows//system32 64位为C://windows//sysWOW64 找到cmd.exe用管理员方式打开,定位到apache安装路径直到bin,输入httpd.exe -k install -n "Apache22"根据自己apache的版本来定,完成
2017-03-04 17:48:42
11094
原创 解决数据结构未对齐的异常
在编程中可能会遇到某个类或者结构体出现异常,其中的成员变量出现错乱、未对其的情况,这种情况一般是由于字节未对齐造成的,可以使用以下的方法解决,在这个类或者结构体的开始加入#pragma pack ( push,1) ,末尾加入#pragma pack(pop)举例如下#pragma pack(push,1)class CDEM_BlockEx{public: CDEM_B
2017-02-17 16:38:40
1470
原创 Apache模块开发中遇到的几个问题
在使用Apache的过程中遇到了不少的问题,现在简单记录一下,具体的安装使用方法是按照这个网址做的http://m.blog.youkuaiyun.com/blog/xing_anksh/19820029,这样相当于是二次开发。1.在模块写完之后编译不通过,遇到了模块计算机类型X64与目标计算机类型X86之间的冲突问题,对于这个问题,如果是在编译平台上的话,比较容易解决,改变一下目标计算机的类型就可以
2015-11-19 15:59:04
691
原创 mongo-c-driver-1.2.1编译,win10+vs2010
Mongo-c-driver的编译是我编译的最痛苦的一个库,到目前为止没有之一
2015-11-14 22:37:49
2019
原创 使用了非托管的第三方库的c++动态库在c#中的调用
在c#中使用c++动态库,一般情况下有两种有两种方法,第一种是使用c++\CLI,这种方法比较直观,但是需要花费时间学习c++\CLI,比较简单的方法是PInvoke,但是这种方法有一个缺陷就是不能直接调用类,而且更为致命的是如果调用的c++动态库使用了第三方的非托管代码将在c++中无法使用,并且在编写的MongoDB程序中,函数需要用到自己写的类。 这样诸
2015-06-17 10:04:40
1698
原创 主机和虚拟机之间的文件共享
在linux虚拟机中输入ifconfig,查看虚拟机IP;在windows中打开我的电脑地址栏输入linux虚拟机中的IP;可以浏览到linux中的文件,并能任意复制;
2015-06-17 10:03:10
493
原创 使用c++driver实现mongodb空间数据查询
最近由于项目需求需要使用mongodb建立一个空间数据库,开始一直没有解决空间索引和空间查询的问题 过了很久才发现是数据格式的问题,mongodb并不会自动将json字符串数据转换为bson,需要手动转化,这是一个很有用的函数可以帮上忙,fromjson(),这个函数可以直接将json格式的数据转化为bson格式,string json=pogeometry->exportToJson(); B
2015-03-18 21:53:13
1974
原创 使用libcurl下载网络数据存储到数据库(使用libcurl和sqlite数据库)
使用libcurl下载网络数据存储到数据库(使用libcurl和sqlite数据库)
2014-08-01 14:05:43
669
空空如也
请问这个是不是Apache的一个错误?
2017-12-26
关于vs2008升级到vs2015的问题
2017-07-17
后缀名为db的Data Base File文件时什么文件?
2017-02-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人